Hallo,
ich erstelle mir eine Tabelle, darin habe ich versucht ein AUTO_INCREMENT Feld zu basteln.
Die Tabelle umfasst ca. 25 Spalten.
Erstellen der Tabelle über
Set conn = New ADODB.Connection
With conn
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source") = filename
.Open
sqlstr = "CREATE TABLE Schausteller(Funktion char(255))"
.Execute sqlstr
danach erstelle ich gleich in einer anderen Sub die dazugehörigen Felder
Private Function FülleTabelle(c As ADODB.Connection, X As Byte) As Boolean
On Error GoTo fehler
Dim sql As String
FülleTabelle = False
Select Case X
Case 1
sql = "ALTER TABLE Schauspieler ADD COLUMN Vorname char(255)": c.Execute sql
sql = "ALTER TABLE Schauspieler ADD COLUMN Nachname char(255)": c.Execute sql
sql="SELECT ALTER TABLE Schausspieler ADD COLUMN ID INT NOT NULL AUTO\_INCREMENT": c.Execute sql
end select
fehler:
exit function
end sub
Ich hab hier nicht alle Spalten aufgefuehrt.
Soweit tut die auch ihren dienst.
in der Form kann man nun einen Datensatz hinzufügen.
Diese mache ich mit
Dim sql
sql="INSERT INTO Schauspieler(Vorname,Nachname) VALUES ('" & txtvorname.txt & "',' & txtnachname.text & "')"
mdb.execute sql
MDB ist hierbei die ADODB.Connection
Wenn ich den Aufruf mache bekomme ich folgende Meldung, das das Feld Schauspieler.ID den Wert NULL hat.
Wo liegt denn hier mein Fehler? Ich möchte das das Feld eine Index bekommt umso jeden Datensatz zu identifizieren. Also datensatz 1 = 1 , datensatz2 = 2 ... Datensatz n = n
MFG Alex