1、源程序 1. 主窗体 Private Sub add_back_Click() frmbackbookinfo.Show End Sub Private Sub add_binf_Click() frmaddbookinfo.Show End Sub Private Sub add_book_style_Click() frmaddbookstyle.Show End Sub Private Sub add_manager_Click() frmadduser.Show End Sub Private Sub add_rinf_Click() frmaddread
2、erinfo.Show End Sub Private Sub add_rstyle_Click() frmaddreaderstyle.Show End Sub Private Sub change_binf_Click() frmmodifybookinfo.Show End Sub Private Sub change_book_style_Click() frmmodifybookstyle.Show End Sub Private Sub delete_binf_Click() frmmodifybookinfo.Show End Sub Private
3、Sub delete_book_style_Click() frmmodifybookstyle.Show End Sub Private Sub delete_rstyle_Click() frmmodifyreaderstyle.Show End Sub Private Sub exit_Click() End End Sub Private Sub find_binf_Click() frmfindbook.Show End Sub Private Sub find_lend_Click() frmfindborrowinfo.Show End Sub Pr
4、ivate Sub find_rinf_Click() frmfindreader.Show End Sub Private Sub password_Click() frmchangepwd.Show End Sub 2. Login Option Explicit Private Sub cmdOK_Click() Dim strUserName As String Dim strPassword As String Dim strTargetAsp As String Dim conn As ADODB.Connection Dim rsLogin As ADO
5、DB.Recordset Dim strSQL As String If Trim(txtUserName.Text) = "" Then MsgBox "“顾客名”不能为空!" Exit Sub Else strUserName = Trim(txtUserName.Text) End If If Trim(txtPassword.Text) = "" Then MsgBox "“口令”不能为空!" Exit Sub Else strPassword = Trim(txtPassword.Text) End If '检查口令、顾
6、客身份 Set conn = New ADODB.Connection conn.Provider = "Microsoft.jet.OLEDB.4.0" conn.ConnectionString = "D:\图书管理系统\book.mdb" conn.Open strUserName = Replace(strUserName, "'", "“") strSQL = "select*from 系统管理 where 顾客名='" & strUserName & "'and 密码='" & strPassword & "'" Set rsLogin = conn.Execute(
7、strSQL) If rsLogin.EOF Or rsLogin.BOF Then MsgBox "顾客名或口令错误,请检查!" txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) txtPassword.SetFocus Else Select Case rsLogin("权限") Case "领导" strTargetAsp = "LeadersMain.asp" Case "主任" strTargetAsp = "ZhuRenMain.
8、asp" Case "秘书" strTargetAsp = "MishuMain.asp" Case "图书管理员" strTargetAsp = "TuShuManagerMain.asp" Case Else strTargetAsp = "OtherMain.asp" End Select SaveSetting "JGYOA", "Login", "UserName", strUserName Hyperlink.NavigateTo " ://" & "/oa/" & strTargetAsp End
9、 If '释放变量 Set rsLogin = Nothing Set conn = Nothing End Sub 3. frmaddbookinfo Private Sub Command1_Click() Dim rs_addbook As New ADODB.Recordset Dim sql As String If Trim(Combo1.Text) = " " Then MsgBox "请选择图书种类", vbOKOnly + vbExclamation, "" Combo1.SetFocus Exit Sub End If If T
10、rim(Text1.Text) = " " Then MsgBox "图书编号不能为空", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit Sub End If If Trim(Text2.Text) = " " Then MsgBox "书名不能为空", vbOKOnly + vbExclamation, "" Text2.SetFocus Exit Sub End If If Not IsDate(Text5.Text) Then MsgBox "请按照yyy-mm
11、dd格式输入日期", vbOKOnly + vbExclamation, "" Text5.SetFocus Exit Sub End If If Not IsDate(Text6.Text) Then MsgBox "请按照yyy-mm-dd格式输入日期", vbOKOnly + vbExclamation, "" Text6.SetFocus Exit Sub End If sql = "select * from 书籍信息 where 书籍编号='" & Text1.Text & "'" rs_
12、addbook.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_addbook.EOF Then rs_addbook.AddNew rs_addbook.Fields(0) = Trim(Text1.Text) rs_addbook.Fields(1) = Trim(Text2.Text) rs_addbook.Fields(2) = Trim(Combo1.Text) rs_addbook.Fields(3) = Trim(Text3.Text) rs_addbook.Fields(4) = Tri
13、m(Text4.Text) rs_addbook.Fields(5) = Trim(Text5.Text) rs_addbook.Fields(6) = Trim(Text6.Text) rs_addbook.Fields(7) = "否" rs_addbook.Update MsgBox "添加图书信息成功!", vbOKOnly, "" rs_addbook.Close Else MsgBox "图书编号反复!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" rs_addboo
14、k.Close Exit Sub End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim rs_leibie As New ADODB.Recordset Dim sql As String sql = "select * from 图书类别" rs_leibie.Open sql, conn, adOpenKeyset, adLockPessimistic rs_leibie.MoveFirst Do While Not rs_leibie
15、EOF Combo1.AddItem rs_leibie.Fields(0) rs_leibie.MoveNext Loop rs_leibie.Close End Sub 4. frmaddbookstyle Private Sub Command1_Click() Dim rs_bookstyle As New ADODB.Recordset Dim sql As String If Trim(Text1.Text) = "" Then MsgBox "图书种类不能为空", vbOKOnly + vbExclamation, "" Text1.
16、SetFocus Exit Sub End If If Trim(Text2.Text) = "" Then MsgBox "种类编号不能为空", vbOKOnly + vbExclamation, "" Text2.SetFocus Exit Sub End If sql = " select * from 图书类别 where 类别名称='" & Text1.Text & "'" rs_bookstyle.Open sql, conn, adOpenKeyset, adLockOptimistic If rs_bookstyle.EOF Then
17、 rs_bookstyle.AddNew rs_bookstyle.Fields(0) = Trim(Text1.Text) rs_bookstyle.Fields(1) = Trim(Text2.Text) rs_bookstyle.Update MsgBox "添加图书类别成功!", vbOKOnly, "" rs_bookstyle.Close Else MsgBox "读者类别反复!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = " " rs_bookstyle.Close Exit
18、Sub End If End Sub Private Sub Command2_Click() Unload Me End Sub 5. frmaddreaderinfo Option Explicit Dim rs_addreader As New ADODB.Recordset Private Sub Command1_Click() Dim sql As String If Trim(Combo1.Text) = "" Then MsgBox "请选择读者种类", vbOKOnly + vbExclamation, "" Combo1.SetFocu
19、s Exit Sub End If If Trim(Text2.Text) = "" Then MsgBox "读者姓名不能为空", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit Sub End If If Trim(Text3.Text) = "" Then MsgBox "读者编号不能为空", vbOKOnly + vbExclamation, "" Text2.SetFocus Exit Sub End If sql = "select * from 读者信息 wher
20、e 读者编号='" & Text2.Text & "'" rs_addreader.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_addreader.EOF Then rs_addreader.AddNew rs_addreader.Fields(0) = Trim(Text2.Text) rs_addreader.Fields(1) = Trim(Text3.Text) rs_addreader.Fields(2) = Trim(Combo2.Text) rs_addreader.Fields(3)
21、 = Trim(Combo1.Text) rs_addreader.Fields(4) = Trim(Text5.Text) rs_addreader.Fields(5) = Trim(Text6.Text) rs_addreader.Fields(6) = Trim(Text4.Text) rs_addreader.Fields(7) = CDate(Text1.Text) rs_addreader.Update MsgBox "添加读者信息成功!", vbOKOnly, "" rs_addreader.Close Else MsgBox "读者编号反复!", vbO
22、KOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" rs_addreader.Close Exit Sub End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Combo2.AddItem "男" Combo2.AddItem "女" Dim rs_leibie As New ADODB.Recordset Dim sql As String sql = "se
23、lect * from 读者类别" rs_leibie.Open sql, conn, adOpenKeyset, adLockPessimistic rs_leibie.MoveFirst Do While Not rs_leibie.EOF Combo1.AddItem rs_leibie.Fields(0) rs_leibie.MoveNext Loop rs_leibie.Close End Sub 6. frmaddreaderstyle Option Explicit Dim rs_readerstyle As New ADODB.Recordset
24、 Private Sub Command1_Click() Dim sql As String If Trim(Text1.Text) = "" Then MsgBox "读者种类不能为空!", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit Sub End If If Trim(Text2.Text) = "" Then MsgBox "借书数量不能为空!", vbOKOnly + vbExclamation, "" Text2.SetFocus Exit Sub End If If
25、 Trim(Text3.Text) = "" Then MsgBox "借书期限不能为空!", vbOKOnly + vbExclamation, "" Text3.SetFocus Exit Sub End If If Trim(Text4.Text) = "" Then MsgBox "有限期限不能为空!", vbOKOnly + vbExclamation, "" Text4.SetFocus Exit Sub End If sql = "select*from 读者类别 where 种类名称='" & Text1.Text & "
26、'" rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_readerstyle.EOF Then rs_readerstyle.AddNew rs_readerstyle.Fields(0) = Trim(Text1.Text) rs_readerstyle.Fields(1) = Trim(Text2.Text) rs_readerstyle.Fields(2) = Trim(Text3.Text) rs_readerstyle.Fields(3) = Trim(Text4.
27、Text) rs_readerstyle.Update MsgBox "添加读者类别成功!", vbOKOnly, "" rs_readerstyle.Close Else MsgBox "读者类别反复!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" rs_readerstyle.Close Exit Sub End If End Sub Private Sub Command2_Click() Unload Me End Sub 7. frmadduse
28、r Private Sub Command1_Click() Dim sql As String Dim rs_add As New ADODB.Recordset If Trim(Text1.Text) = "" Then MsgBox "顾客名不能为空", vbOKOnly + vbExclamation, "" Exit Sub Text1.SetFocus Else sql = "select * from 系统管理" rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic
29、While (rs_add.EOF = False) If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then MsgBox "已经有这个顾客", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" Text2.Text = "" Text3.Text = "" Combo1.Text = "" Exi
30、t Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) <> Trim(Text3.Text) Then MsgBox "两次密码不一致", vbOKOnly + vbExclamation, "" Text2.SetFocus Text2.Text = "" Text3.Text = "" Exit Sub Else If Trim(Combo1.Text) <> "sy
31、stem" And Trim(Combo1.Text) <> "guest" Then MsgBox "请选择对旳旳顾客权限", vbOKOnly + vbExclamation, "" Combo1.SetFocus Combo1.Text = "" Exit Sub Else rs_add.AddNew rs_add.Fields(0) = Text1.Text rs_add.Fields(1) = Text2.Text rs_add.Update rs_a
32、dd.Close MsgBox "添加顾客成功", vbOKOnly + vbExclamation, "" Unload Me End If End If End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Combo1.AddItem "system" Combo1.AddItem "guest" End Sub 8. frmbackbookinfo Private Sub Combo1_Click() Com
33、bo2.ListIndex = Combo1.ListIndex End Sub Private Sub Combo2_Click() Combo1.ListIndex = Combo2.ListIndex End Sub Private Sub Combo3_Click() Combo4.ListIndex = Combo3.ListIndex End Sub Private Sub Combo4_Click() Combo3.ListIndex = Combo4.ListIndex End Sub Private Sub Command1_Click() Dim b
34、ook_num As String Dim reader_num As String Dim answer As String Dim rs_back As New ADODB.Recordset Dim sql As String On Error GoTo delerror book_num = DataGrid1.Columns(3).CellValue(DataGrid1.Bookmark) reader_num = DataGrid1.Columns(1).CellValue(DataGrid1.Bookmark) answer = MsgBox("确定要还这本书吗?
35、", vbYesNo, "") If answer = vbYes Then sql = "select * from 借阅信息 where 书籍编号='" & book_num & "'" rs_back.CursorLocation = adUseClient rs_back.Open sql, conn, adOpenKeyset, adLockPessimistic rs_back.Delete rs_back.Update rs_back.Close sql = "select * from 书籍信息 where 书籍编号='"
36、 book_num & "'" rs_back.CursorLocation = adUseClient rs_back.Open sql, conn, adOpenKeyset, adLockPessimistic rs_back.Fields(7) = "否" rs_back.Update rs_back.Close sql = "select * from 读者信息 where 读者编号='" & reader_num & "'" rs_back.CursorLocation = adUseClient rs_back.Open
37、 sql, conn, adOpenKeyset, adLockPessimistic rs_back.Fields(8) = rs_back.Fields(8) - 1 rs_back.Update rs_back.Close If findform = True Then Command1_Click Else Command2_Click End If MsgBox "成功删除!", vbOKOnly + vbExclamation, "" DataGrid1.AllowDelete = Fals
38、e Else Exit Sub End If delerror: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Command3_Click() Dim rs_reader As New ADODB.Recordset Dim sql As String findform = Ture sql = "select*from 借阅信息 where 读者姓名='
39、" & Combo2.Text & "'" rs_reader.CursorLocation = adUseClient rs_reader.Open sql, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_reader DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False End Sub Private Sub Command4_Click() Dim rs_b
40、ook As New ADODB.Recordset Dim sql As String findform = False sql = "select * from 借阅信息 where 书籍编号='" & Combo3.Text & "'" rs_book.CursorLocation = adUseClient rs_book.Open sql, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_book DataGrid1.AllowAddNew = False DataGrid1.Al
41、lowDelete = False DataGrid1.AllowUpdate = False End Sub Private Sub Form_Load() Dim rs_reader As New ADODB.Recordset Dim rs_book As New ADODB.Recordset Dim sql As String sql = "select * from 读者信息" rs_reader.CursorLocation = adUseClient rs_reader.Open sql, conn, adOpenKeyset, adLockPessimist
42、ic If Not rs_reader.EOF Then Do While Not rs_reader.EOF Combo1.AddItem rs_reader.Fields(1) Combo2.AddItem rs_reader.Fields(0) rs_reader.MoveNext Loop End If rs_reader.Close sql = "select * from 借阅信息" rs_book.CursorLocation = adUseClient rs_book.Open sql, conn, adOp
43、enKeyset, adLockPessimistic If Not rs_book.EOF Then Do While Not rs_book.EOF Combo3.AddItem rs_book.Fields(3) Combo4.AddItem rs_book.Fields(4) rs_book.MoveNext Loop End If rs_book.Close End Sub 9. frmborrowbook Option Explicit Dim leibie As String Dim qixian As I
44、nteger Dim shumu As Integer Dim maxnum As Integer Private Sub Combo1_Change() Combo2.ListIndex = Combo1.ListIndex End Sub Private Sub Combo2_Change() Combo1.ListIndex = Combo2.ListIndex End Sub Private Sub Command1_Click() Dim rs_borrowbook As New ADODB.Recordset Dim sql As String
45、sql = "select * from读者信息where读者编号='" & Combo1.Text & "" rs_borrowbook.Open sql, conn.adOpenKeyset, adLockPessimistic leibie = rs_borrowbook.Fields(3) shumu = rs_borrowbook.Fields(8) rs_borrowbook.Close sql = "select * from读者类别where种类名称='" & leibie & "" rs_borrowbook.Open sql, conn.adOpenKeyset
46、 adLockPessimistic qixian = rs_borrowbook.Fields(2) maxnum = rs_borrowbook.Fields(1) rs_borrowbook.Close If shumu >= maxnum Then MsgBox "该读者借书数额已满!", vbOKOnly + vbExclamation Exit Sub End If sql = "select * from借阅信息" rs_borrowbook.Open sql, conn.adOpenKeyset, adLockPessimistic rs_bo
47、rrowbook.AddNew rs_borrowbook.Fields(1) = Combo1.Text rs_borrowbook.Fields(2) = Combo2.Text rs_borrowbook.Fields(3) = Label8.Caption rs_borrowbook.Fields(4) = Label9.Caption rs_borrowbook.Fields(5) = Date rs_borrowbook.Fields(6) = DateAdd("Ww", qixian, Date) rs_borrowbook.Update rs_borrowboo
48、k.Close sql = "select * from书籍信息where书籍编号='" & book_num & "" rs_borrowbook.Open sql, conn.adOpenKeyset, adLockPessimistic rs_borrowbook.Fields(7) = "是" rs_borrowbook.Update rs_borrowbook.Close sql = "select * from读者信息where读者编号='" & Combo1.Text & "" rs_borrowbook.Open sql, conn.adOpenKeyset, a
49、dLockPessimistic rs_borrowbook.Fields(8) = rs_borrowbook.Fields(8) + 1 rs_borrowbook.Update rs_borrowbook.Close MsgBox "本书借阅成功!", vbOKOnly + vbExclamation Unload Me End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim rs_borrow As New ADODB.Recordset Dim rs_
50、reader As New ADODB.Recordset Dim sql As String sql = "select * from 书籍信息 where 书籍编号= '" & book_num & "'" rs_borrow.Open sql, conn, adOpenKeyset, adLockPessimistic Label8.Caption = rs_borrow.Fields(0) Label9.Caption = rs_borrow.Fields(1) Label10.Caption = rs_borrow.Fields(2) Label11.Caption =






