各位高手,我现在有一个问题比较困惑,我把查询出的数据以循环的形式读入文本文件,可是碰到当一个记录的某个字段为空时它就会自动填充上条读出记录的值,我很困惑,代码如下,请各位给点意见!Private Sub CmdUP_Click()
Dim filename As String
Dim i As Long
Dim 姓名, 日期, 星期, 出勤状况, 上班时间, 下班时间, 排班上班时间, 排班下班时间, 开始时间, 结束时间, 加班分钟数, 加班类型, 批准人, 备注 As String
Dim strSQL As String, strDes As String
Dim rs As New ADODB.Recordset
filename = "C:\MOSS\DOWNLOAD\Absent.txt"
strSQL = "SELECT 出勤汇总表.* FROM 出勤汇总表 where 姓名<>'' "
'判断姓名
If Trim(Combo1.text) <> "" Then
 strSQL = strSQL + " and  姓名='" & Trim(Combo1.text) & "' "
End If
'判断出勤状况
If Trim(Combo2.text) <> "" Then
 strSQL = strSQL + " and  出勤状况='" & Trim(Combo2.text) & "' "
End If
'判断出勤日期
If Trim(Text7.text) <> "" And Trim(Text4.text) <> "" Then
 strSQL = strSQL + " and  日期 between  '" & Trim(Text7.text) & " ' and '" & Trim(Text4.text) & " ' "
End If
 Set rs = New ADODB.Recordset
 Set rs = cn1.Execute(strSQL)
  Open filename For Output As #1
   Print #1, "姓名"; vbTab; "日期"; vbTab; "星期"; vbTab; "出勤状况"; vbTab; "上班时间"; vbTab; "下班时间"; vbTab; "排班上班时间"; vbTab; "排班下班班时间"; vbTab; "加班开始时间"; vbTab; "加班结束时间"; vbTab; "加班分钟数"; vbTab; "加班类型"; vbTab; "批准人"
 '结果集
   Do While rs.EOF <> True
   姓名 = Trim(rs.Fields(0))
   日期 = Trim(rs.Fields(1))
   星期 = Trim(rs.Fields(2))
   出勤状况 = Trim(rs.Fields(3))
   上班时间 = Trim(rs.Fields(4))
   下班时间 = Trim(rs.Fields(5))
   排班上班时间 = Trim(rs.Fields(6))
   排班下班时间 = Trim(rs.Fields(7))
   开始时间 = Trim(rs.Fields(8))
   结束时间 = Trim(rs.Fields(9))
   加班分钟数 = Trim(rs.Fields(10))
   加班类型 = Trim(rs.Fields(11))
   批准人 = Trim(rs.Fields(12))
   Print #1, 姓名; vbTab; 日期; vbTab; 星期; vbTab; 出勤状况; vbTab; 上班时间; vbTab; 下班时间; vbTab; 排班上班时间; vbTab; 排班下班班时间; vbTab; 开始时间; vbTab; 结束时间; vbTab; 加班分钟数; vbTab; 加班类型; vbTab; 批准人
   rs.MoveNext
   Loop
   Close #1
   MsgBox "数据下载成功!", vbOKOnly + vbInformation, "信息!"
 CmdUP.Enabled = False
End Sub