dim iConc as string iConc = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\;" & "Extended Properties=""text;HDR=no;FMT=Delimited(;)"";" '引用ado2.0 dim Cn as connection set Cn =new connection cn.connectionstring=iConc cn.open cn.execute "select * into [;database=c:\test.mdb].[td] from [test#txt]"
Data Source=c:\test.txt cn.execute "select * into [;database=c:\test.mdb].[td] from [test.txt]"
zgvslch(烟花离落),你的写法也不行啊,到cn.open这一句就执行不下去了,vb提示:c:\test.txt不是有效路径。,frankwong的代码可以执行到cn.execeut,我记得vb打开单表的数据库(比如dbf数据库)时,data source只能写文件所在的路径,不能写文件名,所以对txt文件来说, data source应该也只能写路径c:\了
'试试 '引用dao dim db as database Set db = OpenDatabase("c:\", False, False, "Text;HDR=no;FMT=Delimited(;)") db.execute "select * into [;database=c:\test.mdb].[td] from [test#txt]"
frankwong,你好,我将你的代码最后一句改为:set data1.recordset=db.openrecordset("select * from [text#txt]")可以正确执行,在msflexgrid中显示出了文本文件的内容,不知道为什么换成 select * into 就不能执行了呢?
///select * into 就不能执行了呢?select * into 会生成一个新的表,不会返回记录集,所以会报错
aohan(景升),不是的,我执行select * into 时是用:db.execute "select * into_ [;database=c:\test.mdb].[td] from [test#txt]"来执行的。
'这个测试通过的,数据源颠倒过来,以逗号分隔的文本文件,系统会自动识别,不用指定 Dim db As Database Dim rs As Recordset Set db = OpenDatabase("c:\test.mdb") db.Execute ("SELECT * into td from [Text;HDR=no;DATABASE=C:\].[test#txt]")
frankwong,太感谢了,总算解决了,我测试了一下,改成: db.excute "select * into [td] in 'c:\test.mdb' from [test#txt]"也可以解决,你之前给的代码我用到程序中时有一些细节没注意改一下,所以系统报错,改了以后就通过了,真的很感谢,最后请教一下:如果导入空格分隔的txt文本文件时,db.opendatabase的connect参数该怎么设置(是在FMT=Delimited()这设置吧?),还有,我要导入的txt文本文件有些是逗号分隔的,有些是空格分隔的,有没办法将connect参数设成以“逗号and空格”作为分隔符(就象execel导入txt文件一样,可以同时选逗号和空格做分隔符)
iConc = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\;" & "Extended Properties=""text;HDR=no;FMT=Delimited(;)"";"
'引用ado2.0
dim Cn as connection
set Cn =new connection
cn.connectionstring=iConc
cn.open
cn.execute "select * into [;database=c:\test.mdb].[td] from [test#txt]"
cn.execute "select * into [;database=c:\test.mdb].[td] from [test.txt]"
data source应该也只能写路径c:\了
'引用dao
dim db as database
Set db = OpenDatabase("c:\", False, False, "Text;HDR=no;FMT=Delimited(;)")
db.execute "select * into [;database=c:\test.mdb].[td] from [test#txt]"
select * into 就不能执行了呢?
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("c:\test.mdb")
db.Execute ("SELECT * into td from [Text;HDR=no;DATABASE=C:\].[test#txt]")
db.excute "select * into [td] in 'c:\test.mdb' from [test#txt]"也可以解决,你之前给的代码我用到程序中时有一些细节没注意改一下,所以系统报错,改了以后就通过了,真的很感谢,最后请教一下:如果导入空格分隔的txt文本文件时,db.opendatabase的connect参数该怎么设置(是在FMT=Delimited()这设置吧?),还有,我要导入的txt文本文件有些是逗号分隔的,有些是空格分隔的,有没办法将connect参数设成以“逗号and空格”作为分隔符(就象execel导入txt文件一样,可以同时选逗号和空格做分隔符)