请帮我看一下代码哪里有问题,结果显示类型不匹配
Private Sub Command3_Click()
On Error Resume Next
Dim db As DAO.Database
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim fd1 As DAO.Field
Dim fd2 As DAO.Field
Dim fd3 As DAO.Field
Dim fd4 As DAO.Field
Dim fd5 As DAO.Field
Dim fd6 As DAO.Field
Dim fd7 As DAO.Field
Dim str1 As String
Dim str2 As String
Dim dt1 As Date
Dim dt2 As Date
Dim dt3 As Date
Dim dt4 As Date
Dim dt5 As Date
Dim lg1 As Boolean
Set db = CurrentDb()
Set rs1 = db.OpenRecordset("select * form [报关单信息表] where [完成情况]=false")
rs1.MoveFirst
Set fd1 = rs1.Fields(2) '提取【报关单信息表】中的发票号
str1 = fd1.Value
Set fd3 = rs1.Fields(9) '提取【报关单信息表】中的报账日期
dt1 = fd3.Value
Set fd4 = rs1.Fields(10) '提取【报关单信息表】中的需报告字段
lg1 = fd4.Value
Set fd5 = rs1.Fields(11) '提取【报关单信息表】中的报告付款日期
dt3 = fd5.Value
Set fd6 = rs1.Fields(12) '提取【报关单信息表】中的报告进口日期
dt4 = fd6.Value
Set fd7 = rs1.Fields(7) '提取【报关单信息表】中的进口日期
dt5 = fd7.Value
Do Until rs.EOF
Set rs2 = db.OpenRecordset("select * from [发票信息表] where [发票号]=" & sqltext(str1))
Set fd2 = rs2.Fields(0) '提取【发票信息表】中的赎单编号
str2 = fd2.Value
Set rs2 = db.OpenRecordset("select * from [赎单信息表] where [赎单编号]=" & sqltext(str2))
Set fd2 = rs2.Fields(1) '提取【赎单信息表】中的实际付款日期
dt2 = fd2.Value
If dt1 Is Not Null And dt2 Is Not Null Then '付款日期及报账日期不为空
If lg1 = True Then '是否需要报告
If dt2 = dt3 Or dt5 = dt4 Then '报告付款日期=实际付款日期 或 报告进口日期=进口日期
rs1.Edit
lg1.Value = True
rs1.Update
End If
Else
rs1.Edit
lg1.Value = True
rs1.Update
End If
End If
rs.MoveNext
Loop
rs1.Close
rs2.Close
db.Close
Set rs1 = Nothing
Set rs2 = Nothing
Set db = Nothing
End Sub