比如一个文本文件,
我做过实验,在一个程序中写入文本文件,在另一程序中读取不会出错
程序1
Dim myRecord As Record
Open filePathName For Random As #1 Len = Len(myRecord)For RecordNumber = 1 To 5            
   myRecord.ID = RecordNumber         
   myRecord.Name = "My Name" & RecordNumber   
   Put #1, RecordNumber, myRecord
   MsgBox "ok" ' 
Next RecordNumberClose #1
 
程序2Dim i As Integer
Dim recordCounts As Integer
Dim tempRecord As Record
On Error GoTo line1Open filePathName For Random As #1 Len = Len(tempRecord)
recordCounts = LOF(1) / Len(tempRecord)
For i = 0 To 5    Get #1, , tempRecord
Next
Close #1
Exit Sub
line1:
    DoEvents
    Resume

解决方案 »

  1.   

    用API,具体函数和用法可以查一下以前的贴子.
      

  2.   

    Function FileIsOpen(sFilePathName As String)
      Dim iFileNum As Integer, iErrNum As Integer
      On Error Resume Next
      iFileNum = FreeFile()
      Open sFilePathName For Input Lock Read As #iFileNum
      
      Close iFileNum
      iErrNum = Err.Number
      Select Case iErrNum
        Case 0
          FileIsOpen = False
        Case 70
          FileIsOpen = True
        Case Else
          FileIsOpen = True
      End Select
    End FunctionPrivate Sub Form_Load()
      MsgBox FileIsOpen("c:\ccu.mdb")
    End Sub
      

  3.   

    stonegoldaustin(特纯中南海) ( ) 好象不行,你做个.txt文件实验一下,当文件存在,总是返回false,
      

  4.   

    To:wzxypq(wzxypq)我已经实验过,当打开文本文件后,函数返回True.另:此函数是检查文件是否被打开,并不是检查文件是否存在.
      

  5.   

    iFileNum = FreeFile()这个函数是什么呀,看看msdn在贴咯,是返回空文件号!!!!!
      

  6.   

    请问你是如何实验的,我用记事本或ultraEdit打开文本文件后,函数返回false;在程序中open 打开文本文件,函数返回true,我想要的效果是不管用什么打开文本文件后,函数都返回true
      

  7.   

    我是用ultreedit打开的.你放心,我发出的回复都是经过本机的调试的.
    至于你说的情况,我就不太清楚了,但我这里是通过了的.另外附上我机器的配置
    给你参考一下:
    windows 2000 server + sp4
    visual basic 6 + sp3
    希望你能尽快解决问题,有了进展请通知我.祝好运.
      

  8.   

    stonegoldaustin(特纯中南海) (
     还是不行,可能是由于我没有装+ sp3,不过还是感谢你,分送上