Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Glaurung am April 22, 2015, 18:39:12

Titel: editierbare Eigenschaften einer Tabelle aktualisiert ermitteln
Beitrag von: Glaurung am April 22, 2015, 18:39:12
Guten Morgen,

über einen Rechtsklick auf eine Tabelle kann ich Eigenschaften hinterlegen (eigentlich Kommentare). Ich möchte nun in einer lokalen Tabelle alle Tabellen auflisten, die solche Eigenschaften haben. Das funktioniert auch ganz gut:

   Dim TD As TableDef
   Dim P As Property
   Dim DB As DAO.Database
   Dim bemerkung As String
   
   On Error GoTo checkTableComment_Err
   Set DB = DBEngine.Workspaces(0).Databases(0)
   Set TD = DB.TableDefs(tabelle)
   Set P = TD.CreateProperty("Description")
   bemerkung = TD.Properties("Description")

checkTableComment_Err:
   Exit Function

(Wenn die Tabelle keine Eigenschaften hat, kommt eine Exception, die ich deshalb auffange.)
In bemerkung habe ich nun die Eigenschaften der Tabelle tabelle. Leider ist diese Methode sehr träge. Ich erhalte nämlich die Eigenschaften, wie sie zum Zeitpunkt des Öffnens der mdb waren. Nachträgliche Änderungen kriege ich nicht mit.

Ich suche also eine Möglichkeit, Access anzuhalten, seine Unterlagen bez. der Eigenschaften zu aktualisieren, damit es mir aktuelle Ergebnisse liefert.

Kann mir da jemand helfen? Ich bin für alle Hinweise dankbar.
Titel: Re: editierbare Eigenschaften einer Tabelle aktualisiert ermitteln
Beitrag von: MaggieMay am April 22, 2015, 23:52:00
Hallo,

das hätte ich nicht für möglich gehalten was du da beschreibst, aber es stimmt.
Mit dem Befehl    DB.TableDefs.Refreshvor dem Set TD = ...  kannst du die Auflistung aktualisieren.

Was mich darüberhinaus wundert ist, dass CreateProperty im Fall dass die Eigenschaft bereits vorhanden ist, keinen Fehler auslöst oder sonstigen Schaden anrichtet.
Titel: Re: editierbare Eigenschaften einer Tabelle aktualisiert ermitteln
Beitrag von: Glaurung am April 23, 2015, 11:32:21
Perfekt. Vielen Dank.