图书管理系统出了些问题 大虾帮我分析一下是什么问题
借书模块 输入借书证号以后 借书记录无法显示 报错内容是 “run-time error '13 ' Type mismatch”
代码如下
Private Sub ShowBooksList(Data As Recordset, List As MSFlexGrid)
Dim i%, iRow%, OutDate As Boolean, strT$
With List
.FixedRows = 0
.RemoveItem 1
'显示借书记录
While Not Data.EOF
strT = Data.AbsolutePosition
For i = 0 To Data.Fields.Count - 2
strT = strT & vbTab & Data.Fields(i)
Next
strT = strT & vbTab & cmbRoom.List(Data.Fields(i)) <-就是这里出错了 不知道是什么错????
If IsDate(Data.Fields( "还期 ")) Then
If CDate(Data.Fields( "还期 ")) < Date Then
OutDate = True
iRow = iRow + 1
strT = "* " & strT '为超期的借书记录添加标记
Else
strT = " " & strT
End If
Else
strT = " " & strT
End If
.AddItem strT
Data.MoveNext
Wend
.FixedRows = 1 '固定字段标题
End With
If OutDate Then '显示借书超期提示
MsgBox "你共有 " & iRow & "本书已经超期! ", vbCritical, "图书借阅管理 "
'禁用借书、续借按钮
cmdLend.Enabled = False
cmdReLend.Enabled = False
End If
End Sub
[解决办法]
(Data.Fields(i)) 这里是什么内容?检查一下?
cmbRoom.List(Data.Fields(i)) 这里面需要一个integer的数值,如果你的数据大于那个值就出错
[解决办法]
For i = 0 To Data.Fields.Count - 2
应该-1才对!
[解决办法]
同意思樓上兩位
strT = Data.AbsolutePosition
For i = 0 To Data.Fields.Count - 2
strT = strT & vbTab & Data.Fields(i)
Next
strT = strT & vbTab & cmbRoom.List(Data.Fields(i))
錯誤最有可能在這裡,可以設個斷點看看
[解决办法]
For i = 0 To Data.Fields.Count - 2
strT = strT & vbTab & Data.Fields(i)
Next
应该为next i
[解决办法]
For i = 0 To Data.Fields.Count - 2
strT = strT & vbTab & Data.Fields(i)
strT = strT & vbTab & cmbRoom.List(Data.Fields(i)) <-就是这里出错了 不知道是什么错????
Next
[解决办法]
cmbRoom 如果是ComboBox的话 list 的参数为整型的,检查下Data.Fields(i)的数据类型