Datenbankfeld überprüfen

DrMueller

Erfahrenes Mitglied
Hallo mal wieder
ich müsste ein Datenbankfeld erstellen, kann aber net sicher sein, dass es schon existiert, nun wäre am Einfachsten, wenn ich ein select machen würde und falls eine Fehlermeldung erscheint, ist das Feld nicht vorhanden. Darum meine 2 Fragen:
1. Wie unterdrücke ich den SQL-Fehler?
2. Gibt es eine elgantere Möglichkeit für das Problem?

Ich danke im Vorraus
 
Hallo, Du kannst das neue Feld erstellen und die Fehlernummer abfangen.
Falls das Feld existiert macht das Programm nichts. Falls es sich um einen anderen Fehler handelt, wird eine MsgBox ausgegeben.

Beispiel:
Code:
Option Explicit

Private DB As ADODB.Connection

Private Sub Command1_Click()
On Error GoTo Fehler

Set DB = New ADODB.Connection

With DB
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .ConnectionString = "Data Source=d:\db1.mdb"
  .Open
End With

DB.Execute "ALTER TABLE Tabelle1 ADD NeuesFeld Text(50)"

Exit Sub

Fehler:
  If Err.Number <> -2147217887 Then
    MsgBox Err.Description, vbCritical, "Fehler"
  End If
  Exit Sub

End Sub

Private Sub Form_Unload(Cancel As Integer)
  DB.Close
  Set DB = Nothing
End Sub
 
Hi,

Du könntest auch über die Field-Funktionen prüfen ob der Name des Feldes bereits vorhanden ist :

Code:
Dim a%

For a% = 0 To Data1.Recordset.Fields.Count - 1
    Print Data1.Recordset.Fields(a%).Name
Next a%

Damit werden alle in der Tabelle vorhandenen Feldbezeichnungen ausgegeben.

Du könntest in der Schleife ja jetzt prüfen ob das entsprechende Feld vorhanden ist oder nicht.
 
Zurück