如何从dbf查询中创建mdb中的表

时间:2014-07-22 05:45:20

标签: sql ms-access vb6 dbf

我有一个dbf,我想使用VB6将其复制到新的mdb中。

以下是我的目标,我可以轻松地创建新的mdb,但是,我想我可以使用INTO执行Select查询以创建包含数据的新表。

请注意:我假设的是在运行sql查询时创建的MSAccess表。

我在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

1 个答案:

答案 0 :(得分:1)

结束与新创建的mdb的ADODB连接。然后执行此操作以创建表和数据。

sql = "SELECT * INTO [" & table_name & "] " & _
      "FROM [dBase IV;DATABASE=" & sourceDBpath & "].[" & table_name & "]"