我發現下面的代碼應該是一個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