Überprüfen, ob Spalte in DB existiert

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von rOis.

    Überprüfen, ob Spalte in DB existiert

    Hallo,

    ich nutze Visual Basic 6 und habe in meinem Programm eine Access Datenbank eingebunden.

    Frage: Gibt es irgendeine Möglichkeit per VB6 zu überprüfen, ob in der Access Datenbank (.mdb) eine beliebig Spalte z.B. mit dem Namen "PLZ" vorhanden ist?

    thx :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „rOis“ ()

    Hi!

    Oben schreibst du VB6 und unten VBA. Was benutzt du denn nun? Wenn VBA dann in welchem Programm?
    VBA = VB in Office (Word, Excel, Access), ...
    VB6 = Entwicklungsumgebung, mit der man richtige Programme (.exe) erstellen kann.
    In SQL gibt es den Befehl "DESCRIBE" der alle vorhandenen Spalten und deren Eigenschaften einer Tabelle auflistet. Ob das auch von Access unterstützt wird, weiß ich jetzt aber nicht.
    Ansonsten könntest du auch noch sowas versuchen:

    Visual Basic-Quellcode

    1. Dim db As DAO.Database, td As DAO.TableDef, fld As DAO.Field
    2. Set db = currentdb()
    3. Set td = db.TableDefs("tabelle1")
    4. For Each fld In td.Fields
    5. msgbox fld.name
    6. Next fld
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    hey danke hab dein code etwas verändert und es hat wunderbar funktioniert :)
    wen es interessiert hier ist der geänderte code:

    Visual Basic-Quellcode

    1. Dim db As DAO.Database, td As DAO.TableDef, fld As DAO.Field, mSpalten As String
    2. Set db = OpenDatabase(App.Path + "\MeineDatenbank.mdb")
    3. Set td = db.TableDefs("MeineTabelle")
    4. mSpalten = "|"
    5. For Each fld In td.Fields
    6. mSpalten = mSpalten + fld.Name + "|"
    7. Next fld
    8. lPos = InStr(mSpalten, "|MeineSpalte|")
    9. If lPos > 0 Then
    10. MsgBox ("Spalte vorhanden")
    11. Else
    12. MsgBox ("Spalte nicht vorhanden")
    13. End If