J'ai trouvé le code suivant qui est censé créer une table SQL dans une base de données SQl. La base de données est spécifiée dans dbpath
et la table à créer est tblname
.Excel VBA pour créer une table SQL
Cependant, lorsque j'exécute ce code, j'ai un problème de connexion à la bonne base de données SQL.
Par exemple, si je spécifie dbpath
comme "WIN2k8 \ Test \ ABC", c'est-à-dire que le nom de la machine est WIN2k8, l'instance sql est Test database is ABC.
Pour une raison quelconque, il continue à ramasser le dbpath comme où j'ai enregistré le classeur Excel puis WIN2k8 \ test \ abc.
Quelqu'un peut-il aider?
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