图书借阅 代码.docx
《图书借阅 代码.docx》由会员分享,可在线阅读,更多相关《图书借阅 代码.docx(20页珍藏版)》请在冰豆网上搜索。
图书借阅代码
公共模块代码:
'PublicflagAsInteger'添加和修改标志'
PublicsqlAsString
PubliciflagAsInteger'数据库是否打开标志
PublicModifyBkFlag1AsString'标示要修改的图书信息
PublicModifyBkFlag2AsBoolean
'PublicModifyMgzFlag1AsString'标示要修改的期刊信息
PublicModifyMgzFlag2AsBoolean
'PublicModifyRdFlag1AsString'标示要修改的读者信息
PublicModifyRdFlag2AsBoolean
'PublicModifyBrwFlag1AsString'标示要修改的借书信息
PublicModifyBrwFlag2AsBoolean
'PublicModifyRtnFlag1AsString'标示要修改的还书信息
PublicModifyRtnFlag2AsBoolean''执行sql语句的函数
PublicFunctionTransactSQL(ByValsqlAsString)AsADODB.Recordset
DimcontAsADODB.Connection
DimrsAsADODB.Recordset
DimstrConnectionAsString
DimstrArray()AsString
Setcont=NewADODB.Connection'创建连接
Setrs=NewADODB.Recordset
OnErrorGoTotransactsql_error
strConnection="Provider=Microsoft.jet.oledb.4.0;data
source="&App.Path&"\libraryMIS.mdb;"
strConnection=strConnection&"PersistSecurity
Info=False;JetOLEDB:
DatabasePassword='txm'"
strArray=Split(sql)'Split()返回一个下标从零开始的一维数组
cont.OpenstrConnection'打开连接
IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0
Then
rs.OpenTrim$(sql),cont,adOpenKeyset,adLockOptimistic
SetTransactSQL=rs
iflag=1
Else
cont.Executesql
iflag=1
EndIf
transactsql_exit:
Setrs=Nothing
Setcont=Nothing
ExitFunction
transactsql_error:
MsgBox"查询错误:
"&Err.Description
iflag=2
Resumetransactsql_exit
EndFunction
PublicSubtabtoenter(KeyAsInteger)
IfKey=13Then
SendKeys"{TAB}"
EndIf
EndSub
修改借书信息窗体代码:
PrivateSubaddBrwOK_Click()
DimrsAsNewADODB.RecordsetDimsqlAsString
sql="select*fromborrowInfo"
Dimsql2AsString
sql2="select*fromborrowInfowherebookNO='"&bookNO.Text&"'"
IfTrim(readerNO.Text)=""OrTrim(readerName.Text)=""Or
Trim(readerType.Text)=""Or_
Trim(bookNO.Text)=""OrTrim(bookName.Text)=""Or
Trim(bookOriginalName.Text)=""Or_
Trim(bookTypename.Text)=""OrTrim(bookauthor.Text)=""Or
Trim(bookpress.Text)=""Or_
Trim(borrowDTP.Value)=""OrTrim(returnDTP.Value)=""Or
Trim(borrowOther.Text)=""ThenMsgBox"
借书信息录入不能为空!
",vbOKOnlyElse
Setrs=TransactSQL(sql2)
Ifrs.EOF=FalseThen
MsgBox"所给编号图书已经借出,请核对!
!
",vbOKOnly,"提示"
rs.CloseElseSetrs=TransactSQL(sql)
rs.AddNew'添加新纪录
rs.Fields(0)=Trim(readerNO.Text)
rs.Fields
(1)=Trim(readerName.Text)
rs.Fields
(2)=Trim(readerType.Text)
rs.Fields(3)=Trim(bookNO.Text)
rs.Fields(4)=Trim(bookName.Text)
rs.Fields(5)=Trim(bookOriginalName.Text)
rs.Fields(6)=Trim(bookTypename.Text)
rs.Fields(7)=Trim(bookauthor.Text)
rs.Fields(8)=Trim(bookpress.Text)
rs.Fields(9)=Trim(Format(borrowDTP.Value,"yyyy-mm-dd"))
rs.Fields(10)=Trim(Format(returnDTP.Value,"yyyy-mm-dd"))
rs.Fields(11)=Trim(borrowOther.Text)
rs.UpdateMsgBox"借书信息添加成功!
",vbOKOnly
rs.Close
EndIf
EndIf
EndSub
PrivateSubcancel_Click()
UnloadMe
EndSub
PrivateSubForm_Load()'初始化读者,图书类别
readerType.AddItem"教职工",0
readerType.AddItem"中专部",1
readerType.AddItem"本科部",2
readerType.AddItem"研究生",3
readerType.AddItem"校外",4
DimrsAsNewADODB.RecordsetDimsqlTypeAsString
sqlType="selecttypenamefrombooktypeorderbytypename"
Setrs=TransactSQL(sqlType)
WhileNotrs.EOF
bookTypename.AddItemrs(0)
rs.MoveNext
Wend
rs.Close
IfModifyBrwFlag2=TrueThen'DimrsAsNewADODB.Recordset
DimsqlAsString
sql="select*fromborrowInfowherebookNO='"&ModifyBrwFlag1&"'"
Setrs=TransactSQL(sql)
readerNO.Text=rs.Fields(0)
readerName.Text=rs.Fields
(1)
readerType.Text=rs.Fields
(2)
bookNO.Text=rs.Fields(3)
bookNO.Locked=True'使不可改动
bookName.Text=rs.Fields(4)
bookOriginalName.Text=rs.Fields(5)
bookTypename.Text=rs.Fields(6)
bookauthor.Text=rs.Fields(7)
bookpress.Text=rs.Fields(8)
borrowDTP.Value=rs.Fields(9)
returnDTP.Value=rs.Fields(10)
borrowOther.Text=rs.Fields(11)
ModifyBrwFlag2=ModifyBrwFlag2XorTrueaddBrwOK.Enabled=False
ElsemodifyBrwOK.Enabled=False
EndIf
EndSub
PrivateSubmodifyBrwOK_Click()
DimrsAsNewADODB.Recordset
DimsqlAsString
DimstdBrwTimeAsString
'stdBrwTime=Format(borrowDTP.Value,"yyyy-mm-dd")
sql="updateborrowinfosetreaderNo='"&readerNO.Text&"',readername='"&readerName.Text&"'"
sql=sql&",readertype='"&readerType.Text&"',bookno='"&
bookNO.Text&"',bookname='"&bookName.Text&"'"
sql=sql&",bookoriginalname='"&bookOriginalName.Text&
"',booktypename='"&bookTypename.Text&"'"
sql=sql&",bookauthor='"&bookauthor.Text&"',bookpress='"&
bookpress.Text&"'"
sql=sql&",borrowDate='"&Format(borrowDTP.Value,"yyyy-mm-dd")
&"',returnDate='"&Format(returnDTP.Value,"yyyy-mm-dd")&"'"
sql=sql&",borrowOther='"&borrowOther.Text&"'wherebookno='"&bookNO.Text&"'"
IfTrim(readerNO.Text)=""OrTrim(readerName.Text)=""Or
Trim(readerType.Text)=""Or_
Trim(bookNO.Text)=""OrTrim(bookName.Text)=""Or
Trim(bookOriginalName.Text)=""Or_
Trim(bookTypename.Text)=""OrTrim(bookauthor.Text)=""Or
Trim(bookpress.Text)=""Or_
Trim(borrowDTP.Value)=""OrTrim(returnDTP.Value)=""Or
Trim(borrowOther.Text)=""ThenMsgBox"借书信息录入不能为空!
",vbOKOnlyElse
TransactSQL(sql)
MsgBox"借书信息修改成功!
",vbOKOnly
UnloadMe
EndIf
EndSub
借书管理窗体代码:
PublicFunctionborrowList_update()
DimrsAsNewADODB.Recordset
DimsqlAsString
sql="select*fromborrowInfo"
DimiAsInteger
Setrs=TransactSQL(sql)
WithborrowedListGrid
.Rows=1
WhileNotrs.EOF
.Rows=.Rows+1
.TextMatrix(.Rows-1,0)=rs(0)
.TextMatrix(.Rows-1,1)=rs
(1)
.TextMatrix(.Rows-1,2)=rs
(2)
.TextMatrix(.Rows-1,3)=rs(3)
.TextMatrix(.Rows-1,4)=rs(4)
.TextMatrix(.Rows-1,5)=rs(5)
.TextMatrix(.Rows-1,6)=rs(6)
.TextMatrix(.Rows-1,7)=rs(7)
.TextMatrix(.Rows-1,8)=rs(8)
.TextMatrix(.Rows-1,9)=rs(9)
.TextMatrix(.Rows-1,10)=rs(10)
.TextMatrix(.Rows-1,11)=rs(11)
rs.MoveNext
Wend
EndWith
EndFunction
PrivateSubaddBrwInfo_Click()
borrowInfoAdd.Show
EndSub
PrivateSubborrowedListGrid_Click()
DimiAsInteger'首先获得选定的行号
i=borrowedListGrid.Row'将选定行的内容在文本框中显示
curSelBkNo.Text=borrowedListGrid.TextMatrix(i,3)
EndSub
PrivateSubbrwQuery_Click()
borrowQuery.Show
EndSub
PrivateSubdelBrwInfo_Click()
DimresMsgAsString
DimrsAsNewADODB.Recordset
DimsqlAsString
Dimsql2AsString
sql="selectbooknofromborrowInfowherebookno='"&curSelBkNo.Text&"'"
sql2="deletefromborrowInfowherebookno='"&curSelBkNo.Text&"'"
IfTrim(curSelBkNo.Text)=""ThenMsgBox"请选择或输入要删除的借出信息的图书编号!
",vbOKOnlyElseSetrs=TransactSQL(sql)
Ifrs.EOF=TrueThen
MsgBox"没有该编号图书的借出信息!
",vbOKOnly
rs.Close
ElseresMsg=MsgBox("真的要删除该编号图书的借出信息吗?
",vbOKCancel,"警告")IfresMsg=vbOKThenTransactSQL(sql2)
MsgBox"该编号图书的借出信息已经删除!
",vbOKOnlyCallborrowList_updateEndIf
EndIf
EndIf
EndSub
PrivateSubForm_Activate()
CallborrowList_update
EndSub
PrivateSubmodifyBrwInfo_Click()
DimrsAsNewADODB.Recordset
DimsqlAsString
sql="selectbooknofromborrowInfowherebookno='"&
curSelBkNo.Text&"'"IfTrim(curSelBkNo.Text)=""ThenMsgBox"请输入或在列表中选定要修改的借书信息(所借书编号)!
",
vbOKOnlyElseSetrs=TransactSQL(sql)
Ifrs.EOF=TrueThen
MsgBox"没有该编号图书的借出信息!
",vbOKOnlyElse
ModifyBrwFlag1=curSelBkNo.Text
ModifyBrwFlag2=True
borrowInfoAdd.Show
EndIf
rs.Close
EndIf
EndSub
PrivateSubexit_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
'MSFlexGrid1表头
WithborrowedListGrid
.TextMatrix(0,0)="读者编号"
.TextMatrix(0,1)="读者姓名"
.TextMatrix(0,2)="读者类别"
.TextMatrix(0,3)="书籍编号"
.TextMatrix(0,4)="书籍名称"
.TextMatrix(0,5)="书籍原名"
.TextMatrix(0,6)="书籍类别"
.TextMatrix(0,7)="书籍作者"
.TextMatrix(0,8)="出版社"
.TextMatrix(0,9)="借出日期"
.TextMatrix(0,10)="应还日期"
.TextMatrix(0,11)="借阅备注"
.ColWidth(4)=1500
.ColWidth(5)=1500
.ColWidth(8)=1500
.ColWidth(9)=1200
.ColWidth(10)=1200
.ColWidth(11)=2000
.BackColorFixed=RGB(247,214,157)
EndWith
'在中查询相应信息,在MSFlexGrid1中显示
CallborrowList_update
EndSub
读者信息管理窗体代码:
PublicFunctionreaderInfo_update()
DimrsAsNewADODB.Recordset
DimsqlAsString
sql="select*fromreaders"
DimiAsIntegerSetrs=TransactSQL(sql)
WithreaderInfoGrid
.Rows=1
WhileNotrs.EOF
.Rows=.Rows+1
.TextMatrix(.Rows-1,0)=rs(0)
.TextMatrix(.Rows-1,1)=rs
(1)
.TextMatrix(.Rows-1,2)=rs
(2)
.TextMatrix(.Rows-1,3)=rs(3)
.TextMatrix(.Rows-1,4)=rs(4)
.TextMatrix(.Rows-1,5)=rs(5)
.TextMatrix(.Rows-1,6)=rs(6)
.TextMatrix(.Rows-1,7)=rs(7)
.TextMatrix(.Rows-1,8)=rs(8)
.TextMatrix(.Rows-1,9)=rs(9)
.TextMatrix(.Rows-1,10)=rs(10)
rs.MoveNext
Wend
EndWith
EndFunctionPrivateSubexit_Click()
UnloadMe
EndSub
PrivateSubForm_Activate()
CallreaderInfo_update
EndSub
PrivateSubForm_Load()WithreaderInfoGrid.TextMatrix(0,0)="读者编号"
.TextMatrix(0,1)="读者姓名"
.TextMatrix(0,2)="读者性别"
.TextMatrix(0,3)="读者类别"
.TextMatrix(0,4)="身份证号"
.TextMatrix(0,5)="工作单位"
.TextMatrix(0,6)="E-mail"
.TextMatrix(0,7)="联系电话"
.TextMatrix(0,8)="办证日期"
.TextMatrix(0,9)="有效期至"
.TextMatrix(0,10)="备注"
.ColWidth(4)=1500
.ColWidth(5)=1800
.ColWidth(6)=1500
.ColWidth(10)