首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

图书管理系统出了些有关问题 帮小弟我分析一下是什么有关问题

2012-01-16 
图书管理系统出了些问题 大虾帮我分析一下是什么问题借书模块输入借书证号以后借书记录无法显示报错内容是

图书管理系统出了些问题 大虾帮我分析一下是什么问题
借书模块   输入借书证号以后   借书记录无法显示   报错内容是   “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)的数据类型

热点排行