vb程序 使access自动读取txt文本到access数据库中
使用VBA程序,使得程序运行时能读取txt文本到指定的access数据库中,效果就与access中导入txt文本一样,以“制表符”为分隔,第一行包含字段名称,不要主键。如...
使用VBA程序,使得程序运行时能读取txt 文本到指定的access数据库中,效果就与access中导入txt文本一样,以“制表符”为分隔,第一行包含字段名称,不要主键。
如果经试验可以使用,加200分。
我尝试了toBD的方法,是我不对吗,怎么还是不可以呢?
补充一下,假设我的txt文件名为“test.txt",放在"C:\Documents and Settings\Desktop\1"下,要把这个文件读到data.mdb的access数据库中的表"tt" 中。
答复toBD,报错为:编译错误,无效使用NEW关键字 展开
如果经试验可以使用,加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
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
展开全部
好像不对啊,按题目的意思TT表原先是不应该存在的,应该还需要在过程中创建一个TT表才行!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
测试错误提示?如果你的txt文件和mdb文件都放在程序当前目录下有没有问题?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-07-30
展开全部
我是toBD
你的测试有没有错误提示?如果你的txt文件和mdb文件都放在程序当前目录下有没有问题?
你的测试有没有错误提示?如果你的txt文件和mdb文件都放在程序当前目录下有没有问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |