热情软件屋

 

把文本文件导入到数据表中不成功怎么办


编号:QA003241
建立日期: 2000年8月2日 最后修改日期:2000年8月2日
所属类别:

BBQ:
    操作系统: win98
    编程工具: VB6,MS Access97
    问题: 主题:关于把文本文件导入到数据表中
    我在WIN98用VB6和Access97编程,我想把一个文本文件导入到一个确定字段大小的数据表中,我用以下的方法:
     Do While Not EOF(1)
     Line Input #1, s
     rdData.AddNew
     rdData!fields01 = Mid(s,1,4)
     rdData!fields02 = Mid(s,5,8)
     rdData!fields03 = Mid(s,13,8)
     ...............
     rdData.Update
     loop
    结果数据导入不成功,但是我把第一行的文本删除后保存,再运行导入却成功了。
    我在do loop 循环前连续写了几句 "Line Input #1,s",结果运行到第二句时说“错误'62',输入超出文件尾”。
    我有以下问题想请教:
    *是不是在文本文件的某些行(这里是第一行)有文件结尾的标记,而我们却看不到?
    *能不能跳过一行而不读或直接删除一行文本。
    *该文本文件是我从其他数据库用FTP download下来再改成扩展名为.txt的文本文件,上面产生的问题是否和这个有关?
    *改动文本文件后保存为"Word6.0文档"、"RTF文档" 和 "文本文档"有什么区别?
    *对于把文本文件导入到一个确定字段大小的数据表中,有没有更好的方法?
    *是不是有一种方法可以从分隔文本文件将数据读到 ADO 记录集,并使用 ADO 的特性来操作数据?
    水平: 刚入门

回答:

    由于没有看到你的文本文件,所以不能准确地判断问题。由于这个文件原来可能不是标准的文本文件,其中出现文件结束标记也是有可能的。但我认为你首先应该看看每个字段是否存在中英文混合的问题(参考QA000051 "VB 5提示错误:"输入超出文件尾"")。要跳过一行只需要空读一次就可以了,没有直接删除一行的方法。
    "Word6.0文档"、"RTF文档" 和 "文本文档"的格式是完全不同的,你的方法仅能处理文本文档。
    其实你的大体思路没有问题,但可能是文件格式比较特殊或一些细节没有处理好,正确的办法是通过调试来解决问题。你应该采用单步跟踪的办法看看每次到底读了些什么内容,Mid函数分割的结果是否正确,从而才能找出真正的原因。
    ADO没有提供好的直接将文本文件转换为数据集的特性。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio