Nesne açık mı kodu:
Function IsObjectOpen(strName As String, Optional intObjectType As Integer = acTable) As Boolean
' intObjectType can be:
' acTable (value 0) Default
' acQuery (value 1)
' acForm (value 2)
' acReport (value 3)
' acMacro (value 4)
' acModule (value 5)
#39; Returns True if strName is open, False otherwise.
On Error Resume Next
IsObjectOpen = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) <> 0)
If Err <> 0 Then
IsObjectOpen = False
End If
End Function
Sağolunuz çok makmule geçti.
Fonksiyoun çağırmasınıda ben ekleyeyim belki yapamayan olur.
MsgBox IsObjectOpen("Tablo1")
Teşekkürler @
feraz bey ama hatırlatmakta fayda var sadece tablo değil form, sorgu,rapor, makro ve modul de kontrol edilebilir bu fonksiyonla.
(22/02/2020, 00:31)berduş yazdı: [ -> ]Teşekkürler @feraz bey ama hatırlatmakta fayda var sadece tablo değil form, sorgu,rapor, makro ve modul de kontrol edilebilir bu fonksiyonla.
Evet üstadım zaten adam yazmışta fonsiyonda dediklerinizi.
Aslında alttaki yer kullanışsız gibi geldi bana optional den dolayı.
Çünkü form vs... için yaparkende ayrı bir function yazmak gerek galiba.
Optional intObjectType As Integer = acTable
Yukarıdaki yer yerine en alttaki gibi olsaydı ve functionu çağırırken iki parametreli olarak çağırmak sanki daha kullanışlı olurdu sanki.
MsgBox IsObjectOpen("Tablo1",2)'2 demek form için
Yani birden fazla functionla yapmak yerine tek functionla bu şekilde olabilirdi sanki.Yada ben bilmiyorum optional olayını.
Tabi kırmızı mesajboxlu yazdığım yeri kafadan yazdım olur tahminiyle.
Sayenizde çok şeyler öğreniyoruz Access ustam.
Konuyla alakası yok ama @accesman hocamızıda özledik sorularını konuda açmıyor fazla
İşin açığı bu foruma ikiniz sayenizde alıştım gidemiyorumda şimdi
intObjectType As Integer
optional siz değer girmeseniz de kendisi varsayılan olarak belli bir değeri giriyor demektir. Yanı fonksiyon aslında tam da sizin istediğiniz gibi çalışıyor. Değer girmezseniz tabloyu kontrol eder ama belli bir değer girerseniz de ona göre form, rapor vs vs onu kontrol ediyor.
MsgBox IsObjectOpen("Tablo1",3) yazarsanız raporu kontrol eder.
Mesajınızı yanlış yorumladıysam uykusuzluğuma verin)