笨方法:
Private Type DataOne
  xh As String * 8
  Name As String * 20
  date As Long
  Gongzi As Long
  Jiangjin As Long
End Type
Private Type DataTwo
  xh As String * 6
  Name As String * 10
  date As Long
  Gongzi As Long
  Jiangjin As Long
End Type
Private Sub Form_Load()
Dim DataTemp As DataOne
Dim DataTemp1 As DataTwo
Open "aa.dat" For Binary As #1
Open "aa1.dat" For Binary As #2
Do While Not EOF(1)
  Get #1, , DataTemp
  DataTemp1.xh = Left(DataTemp, 6)
  DataTemp1.Name = Left(DataTemp, 10)
  DataTemp1.Gongzi = DataTemp.Gongzi
  DataTemp1.Jiangjin = DataTemp.Jiangjin
  Put #2, , DataTemp1
Loop
Close #1
Close #2
End Sub

解决方案 »

  1.   

    写漏了两个成员名,应该是这样:
    Private Type DataOne
      xh As String * 8
      Name As String * 20
      date As Long
      Gongzi As Long
      Jiangjin As Long
    End Type
    Private Type DataTwo
      xh As String * 6
      Name As String * 10
      date As Long
      Gongzi As Long
      Jiangjin As Long
    End Type
    Private Sub Form_Load()
    Dim DataTemp As DataOne
    Dim DataTemp1 As DataTwo
    Open "aa.dat" For Binary As #1
    Open "aa1.dat" For Binary As #2
    Do While Not EOF(1)
      Get #1, , DataTemp
      DataTemp1.xh = Left(DataTemp.xh, 6)
      DataTemp1.Name = Left(DataTemp.Name, 10)
      DataTemp1.Gongzi = DataTemp.Gongzi
      DataTemp1.Jiangjin = DataTemp.Jiangjin
      Put #2, , DataTemp1
    Loop
    Close #1
    Close #2
    End Sub