小妹参照了一本书上的一人实例:Visaul Basic 数据库开发入门与范例解析,郭胜 夏邦贵等编,机械工业出版社 用的上面的高校图书管理系统 现在程序有些地方调试不出来了,有哪位调试出来了,帮一下忙!!!!!!
解决方案 »
- 用Microsoft MAPI Controls 6.0发送邮件的问题!!!!!!!!!!!
- 在这段函数里该怎么终止程序
- 寻求流水号的解决办法?~~
- VB里Double最大是多少啊
- 如何自动产生记录序号(要求 日期+(当日的所输入的个数) )
- 请问有没有判断一个月是几天的函数
- vb+winsock编写C/S结构程序,如果我拔了客户端网线或禁用了客户端连接或中途交换机出现问题,服务器如何马上知道这个客户端掉线了。
- vb中访问SQLserver的问题
- 如何知道MDI窗体中是否有子窗体显示
- 我用WorkShop自做一个HTML帮助文件叫:Help.chm,用VB怎样显示他?敬请各位高手指点。
- ACCESS数据库同步的问题
- 关于数据的插入问题,请指教
Private Sub cmdNum_Click()
Dim strNum$, strSQL1$, strSQL2$, i%
'输入借阅证编号
strNum = InputBox("请输入借阅证号码:", "图书借阅管理")
'检查借阅证号是否正确
With Library_Manage.rsReaderData
If .State = adStateClosed Then .Open
.MoveFirst
.Find "证号='" & strNum & "'"
If .EOF Then
MsgBox "借阅证号输入错误!", vbCritical, "图书借阅管理"
Exit Sub
End If
End With
If strNum = "" Then Exit Sub
'获得读者个人及借书信息
strSQL1 = "select 读者数据.*,读者类别.* from 读者数据,读者类别 " _
& "where 类号=编号 and 证号='" & strNum & "'"
strSQL2 = "select distinct 书名,借阅数据.条码,索书号,借期,还期,已还,库号 " & _
"from 借阅数据,馆藏书目 where 借阅数据.条码=馆藏书目.条码 " & _
"and 借阅数据.证号='" & strNum & "'" & "order by 借期"
With Library_Manage.Library_Manage_Con
If .State = adStateClosed Then .Open
Set objInfo = New Recordset
Set objInfo = .Execute(strSQL1)
Set objBooks = New Recordset
Set objBooks = .Execute(strSQL2)
End With
'显示读者个人信息
If objInfo.RecordCount > 0 Then
With objInfo
txtName = .Fields("姓名")
txtDept = .Fields("部门")
txtNum = .Fields("证号")
If .Fields("有效期") = 0 Then
txtDate = "无"
Else
txtDate = DateAdd("yyyy", 4, .Fields("日期"))
End If
If .Fields("借书期") = 0 Then
txtDays = "无限制"
Else
txtDays = .Fields("借书期") & "个月"
End If
txtType = .Fields("名称")
txtLended = objBooks.RecordCount
txtLends = .Fields("借书量") - objBooks.RecordCount
End With
'根据借书情况请用借阅功能按钮
cmdNum.Enabled = False
If objBooks.RecordCount > 0 Then
cmdReLend.Enabled = True
cmdReturn.Enabled = True
End If
If Val(txtLends) > Val(txtLended) Then
cmdLend.Enabled = True
cmdReLend.Enabled = True
Else
cmdLend.Enabled = False
cmdReLend.Enabled = False
End If
'显示借书清单
If objBooks.RecordCount > 0 Then _
ShowBooksList objBooks, LendedBooks
End If
End SubPrivate Sub cmdReturn_Click()
Dim strCode$, i%, isOut As Boolean
strCode = UCase(InputBox("请输入图书条码:", "图书借阅管理"))
If strCode = "" Then Exit Sub
'检查指定条码对应的图书是否已在借书清单中
With LendedBooks
For i = 1 To .Rows - 1
If .TextMatrix(i, 2) = strCode Then Exit For
Next
If i = .Rows Then
MsgBox strCode & "条码输入错误!", , "图书借阅管理"
Exit Sub
Else
'检查图书是否超期
If .TextMatrix(i, 0) Like "[*]*" Then isOut = True
End If
End With
'删除或修改借书记录
With Library_Manage.rsLendReturn
If .State = adStateClosed Then .Open
.Filter = "证号='" & Trim(txtNum) & "'"
.Find "条码='" & strCode & "'"
If isOut Then
.Fields("已还") = True '修改超期借书记录的已还字段
Else
.Delete '删除未超期借书记录
End If
.Update
.Filter = ""
End With
'修改可借数
With Library_Manage.rsBooksStore
If .State = adStateClosed Then .Open
.Filter = "库室名='" & LendedBooks.TextMatrix(i, 7) & "'"
.Find "条码='" & strCode & "'"
.Fields("可借数") = .Fields("可借数") + 1
.Update
.Filter = ""
End With
'删除或修改借书清单项目
With LendedBooks
If isOut Then
'修改超期借书记录的已还字段
.TextMatrix(i, 6) = "True"
Else
'删除借书清单中的借书记录
If .Rows <> 2 Then
.RemoveItem i '如果不是最后一条借书记录,则将其删除
Else
'清除第1行中的借书记录数据
For i = 0 To .Cols - 1
.TextMatrix(1, i) = ""
Next
End If
End If
End With
'修改读者借书数目
txtLends = Val(txtLends) + 1
txtLended = Val(txtLended) - 1
End SubPrivate 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