Eine Beobachtung, keine Fehlermeldung.
Marzer
Gesendet: 16.06.18 16:38
Betreff: Eine Beobachtung, keine Fehlermeldung.


Veteran

Beiträge: 101
100

Das funktioniert nicht:

   Dim tdf As DAO.TableDef
   Set tdf = CurrentDb().TableDefs("tbl_Firma" )
   Debug.Print tdf.Name

Die Fehlermeldung lautet:
"Das Objekt ist ungültig, oder es ist nicht mehr festgelegt."

Das funktioniert:

   Dim db  As DAO.Database
   Dim tdf As DAO.TableDef
   Set db = CurrentDb()
   Set tdf = db.TableDefs("tbl_Firma" )
   Debug.Print tdf.Name

Man muss also zuerst einen expliziten Verweis auf die Datenbank setzen.
Hingegen funktioniert dasselbe Konstrukt mit einem QueryDef:

    Dim qdf As DAO.QueryDef
    Dim rs  As DAO.Recordset
    Set qdf = CurrentDb().QueryDefs("qry_Firma1" )
    qdf![FirmaID] = 1
    Set rs = qdf.OpenRecordset(dbOpenForwardOnly)
    With rs
        If Not .EOF Then
            Debug.Print ![fi_Ort]
        End If
        .Close
    End With
    Set rs = Nothing
    Set qdf = Nothing

Access ist manchmal voller Wunder. 

 

Top of the page Bottom of the page