小弟有个问题不明白,以下是我的代码:
Dim filenumber As Integer
Dim wudong As wudong_data
filenumber = FreeFile
Dim place As Integer
Select Case Combo1.ListIndex
Case 0
Open "wd_data.dat" For Random As #filenumber Len = Len(wudong)
place = 1
'年累计完成
zhuangche = Text1.Text
fasongdun = Text2.Text
jinkuandi = Text3.Text
jinkuangao = Text4.Text
Put #filenumber, place, wudong
Close
Case 1
Open "wd_data.dat" For Random As #filenumber Len = Len(wudong)
place = 2
'月累计完成
zhuangche = Text1.Text
fasongdun = Text2.Text
jinkuandi = Text3.Text
jinkuangao = Text4.Text
Put #filenumber, place, wudong
Close
End Select当指定记录号为1或2时,记录可以写进wd_data.dat
但是当把记录号变为3或4时,就无法追加记录。
不是重写,是追加!!
还有一点,就是记录号一定是指定的。希望给位指点一二!
谢谢了!! 

解决方案 »

  1.   

    For Random  改成 for append试试在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。
      

  2.   

    当指定记录号为1或2时,记录可以写进wd_data.dat
    但是当把记录号变为3或4时,就无法追加记录。
    ----------------------------------------------
    1、你如果用指定记录号的方式,因为wd_data.dat是一个空的文件,当把记录号变为3或4时,因没有1和2的记录,所以就无法追加记录。
    2、可以不使用记录号,这样添加的记录会写到由最近添加的记录后面。
    3、或:Dim place As Integer
               place = 1
          place = place + 1         ’每添加一条记录,记录号加1。。
    1