马上就要回家了,却突然冒出了好多问题,真的是好烦人!但是也没有办法啊,事终归是要做的,就赶紧抓紧时间处理问题吧!
昨天碰到一个客户反映他们系统的导出数据有问题,说是什么结果不正确,数据导出不完全!就查了下代码:
导出数据写txt文本文件代码如下:
Dim objFileSys As New FileSystemObject
Dim objStream As TextStream
Dim strDate As String
Set objStream = objFileSys.OpenTextFile(App.Path & "\App.Path & "\hr.bin", ForWriting)
Do While rsAccess.EOF = False
objStream.WriteLine rsAccess!Field
rsAccess.MoveNext
Loop
在执行过程中,有时没有问题,但是有时候会报出以下信息:
”Invalid procedure call or argument“
单步检查错误,发现问题是在rsAccess!Field上!当rsAccess!Field出现乱码时就会报出以上错误信息!
找到问题,然后解决之;
考虑到写文件时正常数据没有问题,只有在写乱码的时候出错,应该是TextStream不支持写这类数据;就改了写文件的方法!代码如下
Open App.Path & "\hr.bin" For Append As #1
Print #1, rsAccess!Field
Close #1
或者如下:
Open App.Path & "\hr.bin" For Binary As #1
Put #1, rsAccess!Field
Close #1
读文件时如下:
Open App.Path & "\hr.bin"For Input As #1
While Not EOF(1)
Line Input #1, str
Wend
str即为文本文件内容!