如何通过dbf查询在mdb中创建表 [英] How to create table in mdb from dbf query
问题描述
我有一个dbf,我想使用VB6复制到新的mdb中.
I have a dbf that I would like to copy into a new mdb using VB6.
以下是我的专长,我可以轻松地创建新的mdb,但是,我认为我可以使用INTO进行Select查询,以使用数据创建新表.
The following is where I am up to, I can create the new mdb easily enough, however, I thought I could just do a Select query with an INTO to create a new table with the data.
请注意:我假设的是在运行SQL查询时创建了MSAccess表.
Please note: what I'm assuming is the MSAccess table gets created at the time the sql query gets run.
我在FROM子句中收到语法错误.我试图做的是操纵此sql查询以执行我需要的操作:
I get a syntax error in FROM clause. What I was trying to do is manipulate this sql query to do what I need it to:
sql ="INSERT INTO [Table1] SELECT * FROM [source.dbf] IN"& dbfPath
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
推荐答案
最终获得了与新创建的mdb的ADODB连接.然后执行此操作以创建表和数据.
Ended up with a ADODB connection to the newly created mdb. Then executed this to create the table and data.
sql = "SELECT * INTO [" & table_name & "] " & _
"FROM [dBase IV;DATABASE=" & sourceDBpath & "].[" & table_name & "]"
这篇关于如何通过dbf查询在mdb中创建表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!