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,
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.
Uyarılarınızı dikkate alacağım,
Yardımlarınızı bekliyorum, Teşekkürler
Açık olan bütün formları kapatan kod
Kod:
While Forms.Count > 0
DoCmd.Close acForm, Forms(0).name, acSaveNo
Wend
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
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