Put intFn1, lngFn1 * Len(typSort_q) + 1, typSort_q
我的文件大概有5000条,运行的时候,每次都会随机的出现一些错误,有的时候是写到300条,有的时候会写到500条的时候出错,错误代码是52,这个代码是说我的文件名出错了,可是我的程序文件名一直是原来的那个,而且文件名不可能有问题啊!还有什么样的情况能引起这样的52号错误,请知道的人提点一下!
分不够俺可以再加

解决方案 »

  1.   

    Put intFn1, lngFn1 * Len(typSort_q) + 1, typSort_q每次写入的文件叫都不一样?intFn1都在变化中?那你打开的文件号是有限制的。
      

  2.   

    没有变化的,都是写到一个文件中的,文件号intFn1也是不变的,可就是报的错误说文件名称或文件号错误,搞不清楚,是不是我写进去的东西异常也会有这样的错误提示呢?
      

  3.   

    Put intFn1, lngFn1 * Len(typSort_q) + 1, typSort_qintFn1是文件号吧,那写入位置为什么是:lngFn1 * Len(typSort_q) + 1??
      

  4.   

    lngFn1 * Len(typSort_q) + 1是文件的位置,每次写入Len(typSort_q)长度的数据,lngFn1 是纪录数。
      

  5.   

    试试
    Put #intFn1, lngFn1 * Len(typSort_q) + 1, typSort_q
      

  6.   

    试试:
    1
      On Error Goto EH
      n = 0
    retry:
      Put intFn1, lngFn1 * Len(typSort_q) + 1, typSort_q  n = 0
    ......  Exit Sub
    EH:If Err.Number = 52 Then
      n = n + 1
      If n > 2 Then
          Msgbox intFn1
      Else
          Resume retry
      End If
    Else
      MsgBox "RunTime error " & Err.Number & ":" & vbcrlf & err.description
    End if2 循环中连接要写入的数据,然后一次写入或用这样的方式减少写入次数。
      

  7.   

    Put intFn1, lngFn1 * Len(typSort_q) + 1, typSort_q
    typesort_q是变化的?检查这个变量,有时你这个写啊写啊的就出错了.