1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Wie ermittle ich ein DB-Objekt in einer fremden DB?

Public Function ForeignExistObject(strDBPfad As String, _
                                   strObjektname As String, _
                                   Typ As Integer, _
                                   Optional strPasswort As String = "") _
                                   As Boolean
'*******************************************
'Name:      ForeignExistObject (Function)
'Purpose:   ermittelt ob ein Objekt in einer anderen DB existiert
'Author:
'Date:
'Inputs:    Objektname = Name des Objektes, Typ = ObjektTyp,
'           strPasswort=DB-Kennwort
'Output:
'*******************************************
On Error GoTo Err
    Dim wsp As DAO.Workspace
    Dim db As DAO.Database
    Dim rs As Recordset
    Dim ObjTyp As Integer
    Dim strPWD As String
    strPWD = ";pwd=" & strPasswort
    Set wsp = DBEngine.Workspaces(0)
    Set db = wsp.OpenDatabase(strDBPfad, False, False, strPWD)
    ForeignExistObject = 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 rs = dba.OpenRecordset("SELECT Name, Type FROM MSysObjects " & _
                               "WHERE Name = '" & Objektname & "' " & _
                               "AND   Type = " & ObjTyp)
    If Not rs.EOF Then rs.MoveLast
    ForeignExistObject = IIf(rs.RecordCount = 0, False, True)
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
  
ExitHere:
    Exit Function
Err:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number
    strErrString = strErrString & "Description: " & Err.Description
    MsgBox strErrString, vbCritical + vbOKOnly, _
           "Error in Function: ForeignExistObject"
    Resume ExitHere
End Function

Der Funktion wird der komplette Pfad und Dateiname der MDB-Datei, der Objektname und
der -Typ übergeben.
Optional noch das DB-Kennwort wenn vorhanden.
Der Rückgabewert ist True bei Objekt vorhanden sonst False

Aufruf:

Dim x As Boolean
x = ForeignExistObject("C:\Test\Test.mdb", "frm_Test", 2)

Ist das Formular"frm_Test" in der DB C:\Test\Test.mdb vorhanden ist x = True

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool "SmartTools SQL aus Abfragen 3.0"...
1.png2.png6.png5.png2.png4.png6.png
Heute983
Gestern1483
Diese Woche4782
Dieser Monat6746
Total1265246

  • IP: 3.233.226.151
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

35
Online

15. November 2019

Letzte Kommentare

  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...

     
  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...