借书模块 输入借书证号以后 借书记录无法显示 报错内容是 “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

解决方案 »

  1.   

    (Data.Fields(i))  这里是什么内容?检查一下?
    cmbRoom.List(Data.Fields(i)) 这里面需要一个integer的数值,如果你的数据大于那个值就出错
      

  2.   

    For i = 0 To Data.Fields.Count - 2
    应该-1才对!
      

  3.   

    同意思樓上兩位
                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))
    錯誤最有可能在這裡,可以設個斷點看看
      

  4.   

    For i = 0 To Data.Fields.Count - 2
                    strT = strT & vbTab & Data.Fields(i)
                Next
    应该为next i
      

  5.   

    For i = 0 To Data.Fields.Count - 2
                    strT = strT & vbTab & Data.Fields(i)
                           strT = strT & vbTab & cmbRoom.List(Data.Fields(i))  <-就是这里出错了 不知道是什么错????
     
    Next
      

  6.   

    cmbRoom 如果是ComboBox的话 list 的参数为整型的,检查下Data.Fields(i)的数据类型