求一段txt文本导入access的代码,谢谢(最好是vb代码)

kangguiwen 2010-01-12 02:31:27
我的access数据库是2007 ,最好是vb语言,谢谢了
...全文
710 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-01-20
  • 打赏
  • 举报
回复

当工作时中需要用到大量的数据时,将数据从文件中写入或读取是较便利的方式。Open 语句让您直接的创建和访问文件。Open 语句提供三种文件访问类型:

顺序访问(Input、Output 和 Append 方式)被用来写入文本文件,比如错误登录和报告。


随机访问(Random 方式)被用来读取与写入数据到文件并且没有关闭文件。随机访问文件在记录中保留数据,如此可很快的找出信息所在。


二进制访问(Binary 方式)被用来读取或写入数据到文件中任何的字节位置,例如存储或显示一个位图图象。
注意 Open 语句不可以用来打开一个应用程序专属的文件类型。例如,不可使用 Open 去打开一个 Word 文档, a ,Microsoft Excel 的电子数据表,或是 Microsoft Access 数据库。若如此做的话会丢失文件的完整性,并造成文件的毁损。

当从文件读取数据和写入数据到文件时,下表列出了所使用的典型语句。

访问类型 写入数据 读取数据
顺序 Print #, Write # Input #
随机 Put Get
二进制 Put Get

ACMAIN_CHM 2010-01-20
  • 打赏
  • 举报
回复
如果这样,那你可以用 VBA的 Open pathname For mode [Access access] [lock] As [#]filenumber
Line Input # 语句
来处理这个TXT文件,然后通过ADO把读出来记录写入到表中。
wwwwb 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 kangguiwen 的回复:]
谢谢各位怎么热情的回答我的问题。
我调试过各位的代码,都可以实现我的要求。但是小弟的意思是有没有什么代码可以实现,不要通过schema.ini来实现txt问题导入,直接将想导入的txt文件导入的access,txt文件是有规则的用逗号隔开。


感谢高手的指导。

[/Quote]
没有,因为你要设置TXT中每列的类型
kangguiwen 2010-01-20
  • 打赏
  • 举报
回复
谢谢各位怎么热情的回答我的问题。
我调试过各位的代码,都可以实现我的要求。但是小弟的意思是有没有什么代码可以实现,不要通过schema.ini来实现txt问题导入,直接将想导入的txt文件导入的access,txt文件是有规则的用逗号隔开。


感谢高手的指导。
wwwwb 2010-01-18
  • 打赏
  • 举报
回复
简单示例:
Open "r:\temp\schema.ini" For Input As #1
Open "r:\temp\ZW1.TXT" For Output As #2
Do While Not EOF(1)
Line Input #1, fg
If InStr(fg, "BscKPIn20090605.txt") > 0 Then
fg = Replace(fg, "BscKPIn20090605.txt", "BscKPIn20090606.txt")
End If
Print #2, fg
Loop
Close #1
Close #2
Kill "r:\temp\schema.ini"
Name "r:\temp\ZW1.TXT" As "r:\temp\schema.ini"
ACMAIN_CHM 2010-01-18
  • 打赏
  • 举报
回复
利用DIR()函数得到指定目录中的文件名,然后再生成
SELECT * into newtt FROM [text;database=r:\temp\].[BscKPIn20090605.txt] 这个字符串。
birdzhyli 2010-01-18
  • 打赏
  • 举报
回复
问题问得有点乱
wwwwb 2010-01-18
  • 打赏
  • 举报
回复
1、
将上述内容插入到表中,修改[BscKPIn20090605.txt]中的内容,再生成INI文件;
2、用OPEN 打开TXT文件,修改内容,保存为新的schema.ini INI文件。
kangguiwen 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 wwwwb 的回复:]
在TXT目录生成schema.ini文件
内容:
[BscKPIn20090605.txt]
ColNameHeader=True
CharacterSet=936
Format=CSVDelimited
Col1=date Char Width 255
Col2=bsc_name Char Width 255
Col3=bsc_id Integer
Col4=sd_acc_prb Float
Col5=sd_suc_lu Float
Col6=sd_suc_sdtch Float
Col7=tch_acc_prb Float
Col8=tch_acc_prb_q Float
Col9=tch_acc_prb_q_dr Float
Col10=tch_suc Float
Col11=tch_suc_re_est Float
Col12=sd_ava Float
Col13=sd_att Integer
Col14=sd_seiz Integer
Col15=sd_ho_seiz Integer
Col16=sd_blk Float
Col17=fcs Integer
Col18=loc Float
Col19=mtc Float
Col20=moc Float
Col21=re_est Float
Col22=emerg Float
Col23=detach Float
Col24=sup_serv Float
Col25=sd_1a Float

sql:
SELECT * into newtt
FROM [text;database=r:\temp\].[BscKPIn20090605.txt]


[/Quote]wwwb 首先感谢一下,按照你的方法实现了。
还有就是,加入BscKPIn20090605.txt 文件时名字是变化的,因为每天都在导入数据,有没有什么好的办法呀,假如昨天是20090605,今天是20090606,文件名变化了,
有没有什么办法直接导入,不管文件名字是变化的。
谢谢了wwwb
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
在TXT目录生成schema.ini文件
内容:
[BscKPIn20090605.txt]
ColNameHeader=True
CharacterSet=936
Format=CSVDelimited
Col1=date Char Width 255
Col2=bsc_name Char Width 255
Col3=bsc_id Integer
Col4=sd_acc_prb Float
Col5=sd_suc_lu Float
Col6=sd_suc_sdtch Float
Col7=tch_acc_prb Float
Col8=tch_acc_prb_q Float
Col9=tch_acc_prb_q_dr Float
Col10=tch_suc Float
Col11=tch_suc_re_est Float
Col12=sd_ava Float
Col13=sd_att Integer
Col14=sd_seiz Integer
Col15=sd_ho_seiz Integer
Col16=sd_blk Float
Col17=fcs Integer
Col18=loc Float
Col19=mtc Float
Col20=moc Float
Col21=re_est Float
Col22=emerg Float
Col23=detach Float
Col24=sup_serv Float
Col25=sd_1a Float

sql:
SELECT * into newtt
FROM [text;database=r:\temp\].[BscKPIn20090605.txt]

kangguiwen 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 kangguiwen 的回复:]
引用 16 楼 kangguiwen 的回复:
希望在各位高手能给一段准确的代码,我按照上述各位朋友的说法做了,都是不行的。

希望给一段代码出来了,谢谢了。

  谢谢您了,您的邮箱是多少呢,我给你发到你的邮箱里面。麻烦你帮我看看

[/Quote]已经上传了名字是bscKPIn20090605.txt
wwwwb 2010-01-13
  • 打赏
  • 举报
回复
ACCESS是否可以打开此MDB
kangguiwen 2010-01-13
  • 打赏
  • 举报
回复
我更改过数据库,还是会出现这种情况的
wwwwb 2010-01-13
  • 打赏
  • 举报
回复
检查MDB是否加密、被破坏
kangguiwen 2010-01-13
  • 打赏
  • 举报
回复
Dim cn As ADODB.Connection, rs As ADODB.Recordset

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test;Extended Properties=""TEXT;HDR=Yes;FMT=Delimited"";Persist Security Info=False"
cn.Execute "Select f1,f2,f3 into newtable in ""c:\db1.mdb"" from c:\test\test0.txt"


运行该段代码 会出现 c:\db1.mdb 会出现 不可识别数据库格式 。这种情况怎么处理呢。
ACMAIN_CHM 2010-01-13
  • 打赏
  • 举报
回复
可以上传到 http://www.access911.net/csdn

或者贴出一段你的TXT文本。
kangguiwen 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 kangguiwen 的回复:]
希望在各位高手能给一段准确的代码,我按照上述各位朋友的说法做了,都是不行的。

希望给一段代码出来了,谢谢了。

[/Quote] 谢谢您了,您的邮箱是多少呢,我给你发到你的邮箱里面。麻烦你帮我看看
wwwwb 2010-01-13
  • 打赏
  • 举报
回复
如果可以的话,
上传你的TXT到www.access911.net/csdn
,用WINRAR压缩
kangguiwen 2010-01-13
  • 打赏
  • 举报
回复
希望在各位高手能给一段准确的代码,我按照上述各位朋友的说法做了,都是不行的。

希望给一段代码出来了,谢谢了。
kangguiwen 2010-01-13
  • 打赏
  • 举报
回复
希望在各位高手能给一段准确的代码,我按照上述各位朋友的说法做了,都是不行的。

希望给一段代码出来了,谢谢了。
加载更多回复(10)
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 出版社:人民邮电出版社 出版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南中。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南中,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件中的数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书中所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的中高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access中存储和显示数据   1.1 Office数据交换简史   1.2 在Access中存储数据   1.3 在Access窗体和报表中显示数据    1.3.1 创建Access套用信函    1.3.2 在Access中创建工作表类型的报表   1.4 小结  第2章 从Access中创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导出到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通信   4.1 将约会和任务导出到Outlook   4.2 将日记信息导出到Ou

7,731

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧