1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:

Für 32Bit und 64Bit Office Versionen

Wie ermittle ich ein DB-Objekt in der aktuellen DB? 

Public Function ExistObject(Objektname As String, Typ As Integer) As Boolean
'*******************************************
'Name:      ExistObject (Function)
'Purpose:   ermittelt ob ein Objekt existiert
'Author:
'Date:
'Inputs:    Objektname = Name des Objektes, Typ = ObjektTyp
'Output:
'*******************************************
On Error GoTo Err
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim ObjTyp As Integer
    ExistObject = False
    Select Case Typ
      Case 0: ObjTyp = 1      'Tabellen
      Case 1: ObjTyp = 5      'Abfragen
      Case 2: ObjTyp = -32768 'Formulare
      Case 3: ObjTyp = -32764 'Berichte
      Case 4: ObjTyp = -32766 'Makro
      Case 5: ObjTyp = -32761 'Module
      Case 6: ObjTyp = 6      'eingebundene Tabellen
      Case 7: ObjTyp = 4      'eingebundene ODBC-Tabellen
      Case 8: ObjTyp = -32756 'Datenzugriffseite
    End Select
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT Name, Type FROM MSysObjects " & _
                             "WHERE Name = '" & Objektname & "' " & _
                             "AND   Type = " & ObjTyp)
  If Not rs.EOF Then rs.MoveLast
    ExistObject = IIf(rs.RecordCount = 0, False, True)
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
  
Exit_Here:
    Exit Function
Err:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & " Description: " & Err.Description & vbCrLf
    MsgBox strErrString, vbCritical + vbOKOnly, _
           "Error in Function: ExistObject"
    Resume Exit_Here
End Function

Der Funktion wird der Objektname und der -Typ übergeben.
Der Rückgabewert ist True bei Objekt vorhanden sonst False

Aufruf:

Dim x As Boolean
x = ExistObject("tbl_Test", 0)

 

Ist die Tabelle "tbl_Test" vorhanden ist x = True

 

Ähnliche Artikel