Bir Form açıldığında Diğer Tüm Formların Kapanması

1 2
20/08/2009, 00:24

qhuan

arkadaşlar merhaba,

bir form açıldığında diğer tüm formların kapanmasını nasıl sağlayabilrim,

Yardımlarınız için şimdiden teşekkür ederim.
Saygılarımla,
20/08/2009, 00:44

mehmetdemiral

Konu başlıklarını lütfen küçük harfle yazınız. Ben mesajınızı düzelttim. Lütfen dikkat ediniz.

Sorunuza gelince, accesste komut ile form kapatmak için

Kod:
DoCmd.Close acForm, FORMADI, acSaveNo

komutu kullanılır. Ayrıca docmd.close komutuyla da o anda aktif olan tüm formları kapatır. (Hepsi aktif olamayacağı için, "all" demenin bir yolunu bulmak lazım)

Şu an için araştırıyorum, bulunca buraya yazarım.
20/08/2009, 09:16

qhuan

Uyarılarınızı dikkate alacağım,
Yardımlarınızı bekliyorum, Teşekkürler
20/08/2009, 14:13

Seruz

Açık olan bütün formları kapatan kod
Kod:
While Forms.Count > 0
        DoCmd.Close acForm, Forms(0).name, acSaveNo
Wend
20/08/2009, 14:25

mehmetdemiral

Onun da kolayı var. O zaman bu komutun yer alacağı bir form mutlaka vardır. Onun üzerine bir komut düğmesi koyacak ve ona basınca tüm formların kapanmasını sağlayacaksınız. O halde bu formun adı diyelim "anaform" olsun Kodları şu şekilde yaparak anaformun tekrara açılmasını sağlarız.

Kod:
While Forms.Count > 0
        DoCmd.Close acForm, Forms(0).Name, acSaveNo
    Wend
DoCmd.OpenForm "anaform"

Eğer açık olan formda bulunulan bir kayıt varsa, yani o anda açık olan kayda gitmk gerekirse o zaman da yine seruz'un daha önce yazdığı kodlar
Kod:
BM = Me.Bookmark
    Me.Requery
    Me.Bookmark = BM
20/08/2009, 14:33

Seruz

O an açık olan form haricinde kapatılmasını istiyorsak bunu kullanabilirsiniz.

Kod:
Dim TumFormlar As Object
    For Each TumFormlar In Application.CurrentProject.AllForms
        If Me.Form.Name <> TumFormlar.Name Then 'Aktif olan formu kapatmasın.
            DoCmd.Close acForm, TumFormlar.Name, acSaveNo
        End If
    Next
1 2