5
El problema es que no puedo obtener el nombre de tabla que se ingresó en la variable, "tblName", sino que obtengo una base de datos correctamente nombrada con una tabla llamada "tblName".Crear una tabla SQL de Excel VBA
¿Hay alguna manera de recoger el nombre en "tblName" o alguna forma de cambiar el nombre una vez que se crea con un nombre que el usuario ingresa?
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
gracias, funciona como un encanto. –
Siempre contento de ayudar. Un conjunto diferente de ojos nunca duele. –
¿No debería aceptarlo como "La" respuesta entonces? ;) – Oorang