ich habe ein Excelmacro, was u.a. mehrere Access-DB-Tabellen anlegen kann, wenn noch nicht vorh.
Klappt auch zuverlaessig, auch der Datenimport.
Ich brauche aber auch das Anlegen des Primaerschluesselfeldes, nur komme ich hier mit keiner Recherche weiter, ist das 'ausserhalb' so nicht zu vereinbaren ?
Wer kann mir bitte helfen ?
Verweis : DAO 3.51 Object Library Access 97
'Prüfen, ob Tabelle bereits vorhanden
If Not TableExists(Dateiname, Tabellenname) Then
'Tabelle erzeugen
Set Datenbank = OpenDatabase(Dateiname)
Set Tabelle = Datenbank.CreateTableDef(Tabellenname)
'Felder erzeugen
'Die Namen der Felder 2 b.4 werden aus den
'entsprechenden Excel-Zellen geholt
With Tabelle
? Set Feld1 = .CreateField("ID"), dbAutowert) ' , dbInteger ?
+++++++++++++++++++++++++++++++++++++++++++++++
diese Angaben habe ich auch gefunden :
Set idx = CreateObject("ADOX.Index")
With idx
.Name = "PrimaryKey"
.IndexNulls = adIndexNullsDisallow
.PrimaryKey = True
.Unique = True
.Columns.Append "AutoWertFeld"
End With
Primärschlüssel angelegt -übliche Einstellungen : keine Nullwerte erlaubt, Uniqueness sowie primary key Einstellung. Dann wird noch das Feld AutoWertFeld in die Collection Columns angefügt, und der Index der entsprechenden Tabelle zugeordnet .
+++++++++++++++++++++++++++++++++++++++++++++++
Set Feld2 = .CreateField(Range("C2"), dbText, 20)
Set Feld3 = .CreateField(Range("D2"), dbDate)
Set Feld4 = .CreateField(Range("E2"), dbInteger)
.Fields.Append Feld1
.Fields.Append Feld2
.Fields.Append Feld3
.Fields.Append Feld4
End With
'Tabelle hinzufügen
Datenbank.TableDefs.Append Tabelle
End If
'Datenbank schließen
Datenbank.Close
Set Feld3 ...........nothing
usw.
Viele Gruesse aus Berlin.
Carola -iss 41 :-))