Как создать таблицу в MDB из запроса DBF
У меня есть DBF, который я хотел бы скопировать в новый MDB с помощью VB6.
Далее я могу создать новую mdb достаточно легко, однако я подумал, что могу просто сделать запрос Select с INTO, чтобы создать новую таблицу с данными.
Обратите внимание: я предполагаю, что таблица MSAccess создается во время выполнения SQL-запроса.
Я получаю синтаксическую ошибку в предложении FROM. То, что я пытался сделать, это манипулировать этим SQL-запросом, чтобы сделать то, что мне нужно:
sql = "INSERT INTO [Table1] SELECT * FROM [source.dbf] IN" & dbfPath
Мой пример vb:
new_mdb = root_directory & "\Temp\LnX.mdb"
Dim conCatalog As ADOX.Catalog
Set conCatalog = New ADOX.Catalog
conCatalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & new_mdb
Set conCatalog = Nothing
Dim db As Database
Dim sql As String
Dim dbfPath As String
Set db = OpenDatabase(new_mdb, dbDriverComplete, False)
dbfPath = "'" & root_directory & "\Core'[dBase IV;]"
sql = "SELECT * FROM [LnX.dbf] IN '" & dbfPath & "' INTO [LnX]"
db.Execute sql
db.Close
Set db = Nothing