wie kann man mit VBA die Spaltennamen einer Tabelle auslesen bzw. das
Vorhandensein einer Spalte prüfen ?
Dominic Szczepanski
Die Feldnamen kannst Du auslesen, indem Du die Fields Collection des TableDef
Objects der TableDefs Collection des Database Objekts ausliest.
Hier ein Beispiel:
Public Function ListColumns(TableName As String)
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set db = CurrentDb()
Set tdf = db.TableDefs(TableName)
For Each fld In tdf.Fields
Debug.Print fld.Name
Next
Set tdf = Nothing
Set db = Nothing
End Function
Nachfolgende Funktion gibt True zurück, wenn die gesuchte Spalte (ColumnName) in
der Tabelle (TableName) existiert, sonst gibt es False zurück (auch wenn die
Tabelle nicht exisitiert).
Public Function ColumnExists(TableName As String, _
ColumnName As String) _
As Boolean
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
ColumnExists = False
On Error GoTo Proc_Exit
Set db = CurrentDb()
Set tdf = db.TableDefs(TableName)
For Each fld In tdf.Fields
If fld.Name = ColumnName Then
ColumnExists = True
Exit For
End If
Next
Proc_Exit:
Set tdf = Nothing
Set db = Nothing
End Function
HTH
Henry
--
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de
MfG
Dominic Szczepanski