我发现下面的代码应该是一个SQL数据库中创建一个SQL表。Excel的VBA创建SQL表
数据库处于dbpath
指定和要创建的表是tblname
。
然而,当我运行此代码,我有连接到正确的SQL数据库的问题。
例如,如果我指定dbpath
为“WIN2k8 \ Test \ ABC”,即机器名称为WIN2k8,则sql实例为Test数据库为ABC。
出于某种原因,它使拿起DBPATH因为在那里我已经保存Excel工作簿,然后WIN2k8 \测试\ ABC。
有人可以帮忙吗?
Dim dbConnectStr As String
Dim Catalog As Object
Dim cnt As ADODB.Connection
Dim dbPath As String
Dim tblName As String
'Set database name in the Excel Sheet
dbPath = ActiveSheet.Range("B1").Value 'Database Name
tblName = ActiveSheet.Range("B2").Value 'Table Name
dbConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath & ";"
'Create new database using name entered in Excel Cell ("B1")
Set Catalog = CreateObject("ADOX.Catalog")
Catalog.Create dbConnectStr
Set Catalog = Nothing
'Connect to database and insert a new table
Set cnt = New ADODB.Connection
With cnt
.Open dbConnectStr
.Execute "CREATE TABLE tblName ([BankName] text(50) WITH Compression, " & _
"[RTNumber] text(9) WITH Compression, " & _
"[AccountNumber] text(10) WITH Compression, " & _
"[Address] text(150) WITH Compression, " & _
"[City] text(50) WITH Compression, " & _
"[ProvinceState] text(2) WITH Compression, " & _
"[Postal] text(6) WITH Compression, " & _
"[AccountAmount] decimal(6))"
End With
Set cnt = Nothing