2010-04-02 3 views
0

Я нашел следующий код, который должен создать таблицу SQL в базе данных SQl.Excel VBA для создания таблицы SQL

База данных указана в dbpath, а таблица, которую следует создать, находится в tblname.

Однако, когда я запускаю этот код, у меня есть проблема с подключением к правой базе данных SQL.

Например, если я указываю dbpath как «WIN2k8 \ Test \ ABC», то есть имя машины является WIN2k8, sql instance - это тестовая база данных ABC.

По какой-то причине он продолжает собирать dbpath, где я сохранил книгу Excel, а затем WIN2k8 \ test \ 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 

ответ

1

Поставщик Jet.OLEDB предназначен для доступа к MS. Попробуйте использовать строку подключения SQL Server, если это то, к чему вы пытаетесь подключиться. Вы можете найти различные типы строк подключений по адресу http://www.connectionstrings.com/.

Надежда, что помогает

Смежные вопросы