Sayın @berduş hocamızın kodlarından esinlenerek örnek dosyya yaptım.
Tablo,Form gibilerin açık olup olmadığını kontrol edilir.
Lazım olabilir diye paylaştım.
Option Compare Database
Function IsObjectOpen(strName As String, Optional intObjectType As Integer = acTable) As Boolean
' intObjectType can be:
' acTable (value 0)
' acQuery (value 1)
' acForm (value 2) Default
' acReport (value 3)
' acMacro (value 4)
' acModule (value 5)
On Error Resume Next
IsObjectOpen = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) <> 0)
If Err <> 0 Then
IsObjectOpen = False
End If
End Function
Private Sub Komut0_Click()
Dim tabload As String
If IsNull(Me.cmbox1) Or Me.cmbox1 = "" Then
MsgBox "Tablo Adi bos olamaz..", vbCritical
Me.cmbox1.SetFocus
Exit Sub
End If
tabload = Me.cmbox1.Value
If IsObjectOpen(tabload, 0) = False Then 'O demek tablo icin functionda yazili
MsgBox tabload & " :Kapali", vbInformation, "Bilgi"
Else
MsgBox tabload & " :Acik", vbInformation, "Bilgi"
End If
End Sub
Private Sub Komut5_Click()
Dim formad As String
If IsNull(Me.cmbox2) Or Me.cmbox2 = "" Then
MsgBox "Form Adi bos olamaz..", vbCritical
Me.cmbox2.SetFocus
Exit Sub
End Ifb
formad = Me.cmbox2.Value
If IsObjectOpen(formad, 2) = False Then '2 demek Form icin functionda yazili
MsgBox formad & " :Kapali", vbInformation, "Bilgi"
Else
MsgBox formad & " :Acik", vbInformation, "Bilgi"
End If
End Sub