Hej, Använd ADOX. Hej Roger och tack för snabbt svar. Hej ! Har fått ett nytt tips som tycks fungera bra. Kanske att den blev installerad i samband med VS.Net?Skapa ny tabell i Access (ADO) via kod
Jag vill skapa en ny tabell samt några fält, men hittar inte syntaxen för att skapa själva tabellen. Hur lägger jag till den/de raderna i koden nedan?
ex.
Dim ad As ADODB.Connection
Dim ar As ADODB.Recordset
Set ad = New ADODB.Connection
Let ad.ConnectionString = DbConnString
ad.Open
Set ar = New ADODB.Recordset
ar.Fields.Append "Name", adVarChar, 50
ar.Fields.Append "Message", adVarChar, 250
ar.Close
ad.Close
mvh leifSv: Skapa ny tabell i Access (ADO) via kod
Ett exempel:
Option Explicit
' Skapa en referens till Microsoft ADO Ext. 2.7 for DDL and Security
Private Sub Form_Load()
Dim db As ADOX.Catalog
Dim td As ADOX.Table
Set db = New ADOX.Catalog
db.Create "Provider= Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\Db.mdb" & ";"
Set td = New ADOX.Table
With td
.Name = "Tabell"
.Columns.Append "Kolumn1", adInteger
.Columns.Append "Kolumn2", adVarWChar, 255
.Columns("Kolumn2").Attributes = adColNullable
End With
db.Tables.Append td
Set td = Nothing
Set db = Nothing
End SubSv: Skapa ny tabell i Access (ADO) via kod
Jag har provat din kod och det fungerar klockrent i ett nytt projekt.
Dock har jag fortfarande problem att utöka min befintliga databas med en tabell. Jag har hittat lite kod på Microsoft (som ser ut ungefär som ditt förslag). Har modifierat den en aning enligt nedan.
Dim ad As ADODB.Connection
Dim cat As ADOX.Catalog
Dim objTable As ADOX.Table
Set ad = New ADODB.Connection
Set cat = New ADOX.Catalog
Set objTable = New ADOX.Table
Let ad.ConnectionString = DbConnString
ad.Open
' create the table
objTable.Name = "SuppGrp_SendMess"
objTable.Columns.Append "Name", adVarChar, 50
objTable.Columns.Append "Message", adVarChar, 250
objTable.Columns.Append "SendToAllGroups", adInteger
objTable.Columns("Name").Attributes = adColNullable
objTable.Columns("Message").Attributes = adColNullable
' append the newly created table to the Tables Collection
' när nästa rad exekveras blir det stopp. Felmeddelandet
' är Invalid Type
cat.Tables.Append objTable
' clean up objects
Set objTable = Nothing
Set cat = Nothing
ad.Close
Set ad = Nothing
Något förslag??Sv: Skapa ny tabell i Access (ADO) via kod
Version 2.7 av ADOX !
Var hittar men den ?
Är det en beta eller är den skarp ?
MVH
/Peter SSv: Skapa ny tabell i Access (ADO) via kod
Dim ad As ADODB.Connection
Set ad = New ADODB.Connection
Let ad.ConnectionString = DbConnString
ad.Open
ad.Execute "create table SuppGrp_SendMess (Name varChar(50), Message varChar(250), SendToAllGroups smallInt)"
ad.Close
mvh leifSv: Skapa ny tabell i Access (ADO) via kod