vb程序 使access自动读取txt文本到access数据库中

使用VBA程序,使得程序运行时能读取txt 文本到指定的access数据库中,效果就与access中导入txt文本一样,以“制表符”为分隔,第一行包含字段名称,不要主键。

如果经试验可以使用,加200分。
我尝试了toBD的方法,是我不对吗,怎么还是不可以呢?
补充一下,假设我的txt文件名为“test.txt",放在"C:\Documents and Settings\Desktop\1"下,要把这个文件读到data.mdb的access数据库中的表"tt" 中。

答复toBD,报错为:编译错误,无效使用NEW关键字

恩,你这错误可能和声明对象相关,VBA和VB还是不同的,要加adodb:
dim cn as adodb.connection
set cn=new adodb.connection
你再试下,VBA不熟悉,许多对象搞不明白,或许有更简单的方法

我把一个名称为test.txt文件也放入了C:\Documents and Settings\Desktop\1文件夹下,在这个文件夹下建立了一个schema.ini文件,ini文件的内容:
[test.txt]
Format=TabDelimited

因为我这个文件是用tab分隔的,所以用TabDelimited
同时,我的数据库文件db.mdb中,存在一个tt表,字段对应test.txt文件中的字段名称
以下代码测试通过:

Dim cn As Connection
Dim sql As String
Dim n As Long

Set cn = New Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db.mdb;"

sql = "insert into tt select * from [test.txt] in ""C:\Documents and Settings\Desktop\1"" ""text;HDR=Yes;FMT=Delimited"""
'如果表tt不存在:
'sql = "select * into tt from [test.txt] in ""C:\Documents and Settings\Desktop\1"" ""text;HDR=Yes;FMT=Delimited"""
cn.Execute sql, n

MsgBox "成功插入:" & n & "行数据"
Set cn = Nothing
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-03
好像不对啊,按题目的意思TT表原先是不应该存在的,应该还需要在过程中创建一个TT表才行!
第2个回答  2009-08-13
测试错误提示?如果你的txt文件和mdb文件都放在程序当前目录下有没有问题?本回答被提问者采纳
第3个回答  2009-07-30
我是toBD
你的测试有没有错误提示?如果你的txt文件和mdb文件都放在程序当前目录下有没有问题?
相似回答