5
Le problème est que je ne peux pas obtenir le nom de table qui a été entré dans la variable, "tblName", à utiliser à la place je reçois une base de données correctement nommée avec une table nommée "tblName".Créer une table SQL à partir d'Excel VBA
Existe-t-il un moyen de prendre le nom dans "tblName" ou un moyen de changer le nom une fois qu'il est créé avec un nom que l'utilisateur entre?
Private Sub CreateDatabaseFromExcel()
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
End Sub
Merci, cela fonctionne comme un charme. –
Toujours heureux d'aider. Un ensemble d'yeux différent ne fait jamais mal. –
Ne l'acceptez-vous pas comme "La" réponse alors? ;) – Oorang