TKSoft-Online

DB-Objekt in einer fremden DB ermitteln PDF Drucken E-Mail
( 1 Vote )
MS-Access Codes - Codeschnipsel DB Objekte
  
Freitag, den 28. Dezember 2007 um 01:00 Uhr

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, FalseFalse
, 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, 
FalseTrue

    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

DatumKlicks
Total1410
Mi. 233
Di. 222
So. 201
Sa. 192
Di. 151
Mo. 142
So. 132
Aktualisiert ( Donnerstag, den 01. Juli 2010 um 12:29 Uhr )
 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173466 Downloads