Hallo zusammen,
ich bin Umsteiger und neuling in VB.Net.
ICh möchte zu meine Access Datenbank überprüfen, ob alle Tabellen und Spalten
vorhanden sind. Fehlt eine Tabelle lege ich Sie mittels ADOX an.
Fehlt in einen vorhandenen Tabelle eine Spalte an.... und hier verlassen sie mich.
ADOX klapp an der Stelle leider nicht oder ich haben eine Fehler eingebaut, den ich
nicht finde.
Public Sub DatenbankFeld_anlegen(ByRef ADOConnection As ADODB.Connection, _
ByVal CheckTabelle As String, ByVal FeldBez As String, ByVal FeldTyp As _
Long, ByVal FeldLänge As Integer, ByVal Feldattrib As Boolean)
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
On Error Resume Next
cat.ActiveConnection = ADOConnection
tbl = cat.Tables(CheckTabelle)
With tbl
'ID
If FeldTyp = 1 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adBigInt)
'ganze Zahl
ElseIf FeldTyp = 2 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adBigInt)
'Text mit Muss-Eintrag
ElseIf FeldTyp = 3 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adWChar, _
FeldLänge)
.Columns(CheckTabelle).Properties("Jet OLEDB:Allow Zero" & _
"Length") = False
'Text ohne Muss-Eintrag
ElseIf FeldTyp = 4 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adWChar, _
FeldLänge)
.Columns(CheckTabelle).Properties("Jet OLEDB:Allow Zero" & _
"Length") = True
'Datum
ElseIf FeldTyp = 5 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adDate)
'Ja/Nein
ElseIf FeldTyp = 6 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adBoolean)
'Binary Daten
ElseIf FeldTyp = 7 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adLongVarBinary)
'Zahl mit Kommastellen
ElseIf FeldTyp = 8 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adDouble)
'Memofeld
ElseIf FeldTyp = 9 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adLongVarWChar)
'Zahl mit Kommastellen
ElseIf FeldTyp = 10 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adDouble)
'Währung
ElseIf FeldTyp = 11 Then
.Columns.Append(CheckTabelle, ADOX.DataTypeEnum.adCurrency)
End If
End With
If Not tbl Is Nothing Then tbl = Nothing
If Not cat Is Nothing Then cat = Nothing
End Sub Ich bin für jede Hilfe dankbar.
Gruß
MarioRainer |