各位大师: 小妹很喜欢编程,可是一至没有带,现在还是一只小菜鸟,希望名们师指教指教小妹,小妹现在正照着书上做一图书管理系统,可还是有很多代码看不懂,界面好图所示,代码如下, Private Sub chkquery_click() If chkquery.Value = 1 Then txtquerybookid.Enabled = True Else txtquerybookid.Enabled = False End If
End Sub 'Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any) 'End Sub
Private Sub cmdlendbook_Click() If txtreaderid.Text <> "" Then '如果"读者编号"不为空 If lblremain.Caption <> "0" Then '判断"还允许借出册数"是否已借满 Set g_rs = g_db.openrecordset("leninfo", dbopentable) '??????????????????? With g_rs .AddNew .Fields("读者编号") = txtreaderid.Text .Fields("图书编号") = txtbookid.Text .Fields("借阅日期") = dtplenddate.Value .Update End With Set g_rs = Nothing g_strSql = "select * from bookinfo where 图书编号='" & txtbookid.Text & "'" Set g_rs = g_db.openrecordset(g_strSql) g_rs.EditMode g_rs.Fields("是否借出").Value = True g_rs.Update Set g_rs = noting MsgBox "借出完毕!", vbOKOnly, "提示" txtbookid.Text = "" txtbookname.Text = "" txtbookprice.Text = "" txtbookleibie.Text = "" txtbookconcern.Text = "" txtbookpage.Text = "" initdatagrid (False) Else MsgBox "您的书已经借满,不能再借!", vbOKOnly, "提示" End If Else MsgBox "请先输入读者编号!", vbOKOnly, "提示" End If End Sub
Private Sub cmdok_Click() g_strSql = "select * from lentinfo where 图书编号='" & txtbookidrenew.Text & "'and 读者编号='" & txtreaderidrenew.Text & "'and 借阅日期=#" & txtlenddate.Text & "#" Set g_rs = g_db.openrecordset(g_strSql) g_rs.EditMode Set g_rs = noting Adodc1.recordset.Update MsgBox "续借完成", vbOKOnly, "提示"
End Sub
Private Sub cmdreturn_Click() g_strSql = "select * from lentinfo where 图书编号='" & txtbookidreturn.Text & "'and 读者编号='" & txtreaderidreturn.Text & "'and 借阅日期=#" & txtlenddatereturn.Text & "#" Set g_rs = g_db.openrecordset(g_strSql) g_rs.EditMode g_rs.Fields("还书日期").Value = txtreturndate.Text g_rs.Fields("罚款金额").Value = txtfakuan.Text g_rs.Update Set g_rs = noting g_strSql = "select * from bookinfo where 图书编号='" & txtbookerturn.Text & "'" Set g_rs = g_db.openrecordset(g_strSql) g_rs.EditMode g_rs.Fields("是否借出").Value = False g_rs.Update Set g_rs = noting txtbookerturn.Text = "" txtbooknamereturn.Text = "" txtpricereturn.Text = "" txtbookleibeireturn.Text = "" txtbookpagereturn.Text = "" txtreadernamereturn.Text = "" txtreaderidreturn.Text = "" txtday.Text = "" txtdaycount.Text = "" MsgBox "归还完毕!", vbOKOnly, "提示"
End Sub
Private Sub Form_Load() Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000) Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000) Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500) Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500) dtplenddate.Value = Date dtplenddatechange.Value = Date Set g_ws = dbengine.workspaces(0) Set g_db = g_ws.opendatabase(App.Path + "\图书馆查询管理系统.mdb") End Sub
Private Sub Form_Unload(Cancel As Integer) Dim i As Integer
'close all sub forms For i = Forms.Count - 1 To 1 Step -1 Unload Forms(i) Next If Me.WindowState <> vbMinimized Then SaveSetting App.Title, "Settings", "MainLeft", Me.Left SaveSetting App.Title, "Settings", "MainTop", Me.Top SaveSetting App.Title, "Settings", "MainWidth", Me.Width SaveSetting App.Title, "Settings", "MainHeight", Me.Height End If g_db.Close Set g_db = noting g_ws.Close Set g_ws = noting End Sub
Private Sub mnubookmanage_Click() frmbookquery.Show
End Sub
Private Sub mnubookquery_Click() frmlendquery.Show
End Sub
Private Sub mnusetbasic_Click() frmsetbasic.Show
End Sub
Private Sub mnusetbook_Click() frmsetbook.Show
End Sub
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next Select Case Button.Key Case "新建图书信息" frmaddnew.Show Case "图书管理" frmbookmange.Show Case "图书查找" '应做:添加 '图书查找' 按钮代码。 MsgBox "添加 '图书查找' 按钮代码。" Case "打印" frmbookquery.Show Case "剪切" '应做:添加 '剪切' 按钮代码。 MsgBox "添加 '剪切' 按钮代码。" Case "复制" '应做:添加 '复制' 按钮代码。 MsgBox "添加 '复制' 按钮代码。" Case "粘贴" '应做:添加 '粘贴' 按钮代码。 MsgBox "添加 '粘贴' 按钮代码。" Case "退出" End End Select End Sub
Private Sub mnuHelpAbout_Click() MsgBox "版本 " & App.Major & "." & App.Minor & "." & App.Revision End Sub
Private Sub mnuHelpSearchForHelpOn_Click() Dim nRet As Integer
'如果这个工程没有帮助文件,显示消息给用户 '可以在“工程属性”对话框中为应用程序设置帮助文件 If Len(App.HelpFile) = 0 Then MsgBox "无法显示帮助目录,该工程没有相关联的帮助。", vbInformation, Me.Caption Else
On Error Resume Next nRet = OSWinHelp(Me.hWnd, App.HelpFile, 261, 0) If Err Then MsgBox Err.Description End If End If
End Sub
Private Sub mnuHelpContents_Click() Dim nRet As Integer
'如果这个工程没有帮助文件,显示消息给用户 '可以在“工程属性”对话框中为应用程序设置帮助文件 If Len(App.HelpFile) = 0 Then MsgBox "无法显示帮助目录,该工程没有相关联的帮助。", vbInformation, Me.Caption Else On Error Resume Next nRet = OSWinHelp(Me.hWnd, App.HelpFile, 3, 0) If Err Then MsgBox Err.Description
End If End If End Sub Private Sub txtbookid_keypress(KeyAscii As Integer) If KeyAscii = "13" And txtreaderid.Text <> "" And txtbookid.Text <> "" Then g_strSql = "select bookinfo.书籍名称,bookinfo.书籍价格,bookinfo.出版社,bookinfo.书籍页码," _ & "bookinfo.是否借出,booktype.书籍类别 from bookinfo,booktype where 书籍编号='" & txtbookid.Text & "'" _ & "and bookinfo.类别代码=booktype.类别代码" Set g_rs = g_dbopenrecordset(g_strSql) If Not g_rs.EOF Then txtbookname.Text = g_rs!书籍名称 txtbookprice.Text = g_rs!书籍价格 txtbookleibie.Text = g_rs!书籍类别 txtbookconcern.Text = g_rs!出版社 txtbookpage.Text = g_rs!书籍页码 If g_rs!是否借出 = True Then MsgBox "此书已经借出,请选择其它书籍!", vbOKOnly, "提示" cmdlendbook.Enabled = False Else cmdlendbook.Enabled = True End If Else MsgBox "没有该书信息!", vbOKOnly, "提示" txtbookname.Text = "" txtbookprice.Text = "" txtbookleibie.Text = "" txtbookconcern.Text = "" txtbookpage.Text = "" End If Set g_rs = noting ElseIf KeyAscii = "13" And txtbookerturn.Text Then strsql = "select lendinfo.读者编号,readerinfo.读者姓名,lentinfo.书籍编号,bookinfo.书籍价格," _ & "bookinfo.书籍名称,bookinfo.书籍页码,lentnfo.借书日期,booktype.书籍编号,booktype.借出天数" _ & "from raederinfo,bookinfo,lentinfo,booktype where readerinfo.读者编号=lentinfo.读者编号" _ & "and bookinfo.书籍编号=lentinfo.书籍编号 and bookinfo.书籍编号='" & txtbookerturn.Text & "'" _ & "and bookinfo.类别代码=booktype.类别代码" g_strSql = strsql Set g_rs = g_db.openrecordset(g_strSql) If Not g_rs.EOF Then cmdlendbook.Enabled = True txtbooknamereturn.Text = g_rs!书籍名称 txtpricereturn.Text = g_rs!书籍价格 txtbookleibeireturn.Text = g_rs!书籍类别 txtbookpagereturn.Text = g_rs!书籍页码 txtreaderidreturn.Text = g_rs!读者编号 txtreadernamereturn.Text = g_rs!读者姓名 txtlenddatereturn.Text = g_rs!借出日期 txtday.Text = g_rs!借出天数 txtreturndate.Text = Date txtfactday.Text = CStr(Date - g_rs!借书日期) If CInt(txtfactday.Text) - CInt(txtday.Text) > 0 Then txtdaycount.Text = CStr(CInt(txtdaycount.Text) - CInt(txtreturndate.Text)) Else txtdaycount.Text = "0" End If Set g_rs = noting g_strSql = strsql Set g_rs = g_db.openrecordset("select * from basicset") txtfakuan.Text = g_rs!罚款 * CInt(txtdaycount.Text) Set g_rs = noting cmdreturn.Enabled = True Else Set g_rs = noting MsgBox "没有该书信息", vbOKOnly, "提示" txtbooknamereturn.Text = "" txtpricereturn.Text = "" txtbookleibeireturn.Text = "" txtbookpagereturn.Text = "" txtreaderidreturn.Text = "" txtreadernamereturn.Text = "" txtlenddatereturn.Text = "" txtday.Text = "" txtreturndate.Text = "" txtfactday.Text = "" txtdaycount.Text = "" cmdreturn.Enabled = False End If ElseIf KeyAscii = "13" And txtbookerturn.Text = "" Then MsgBox "请先输入图书编号!", vbOKOnly, "提示" End If End Sub Public Function initdatagrid(binrenew As Boolean) Dim strdatasource As Integer Dim strreaderid As String Dim intcount As Integer If binrenew = False Then strreaderid = txtreaderid.Text Else strreaderid -txtreaderidrenew.Text End If strdatesource = "select lentinfo.读者编号,readerinfo.读者姓名,lentinfo.书籍编号," _ & "bookinfo.书籍名称,booktype.书籍类别,bookinfo.出版社,bookinfo.书籍页码,lentinfo.借书日期," _ & "lentinfo.还书日期,lentinfo.超出天数,lentinfo.罚款金额 from readerinfo,bookinfo,lentinfo,booktyep" _ & "where readerinfo.读者编号=lentinfo.读者编号 and bookinfo.书籍编号=lentinfo.书籍编号 and" _ & "lentinfo.读者编号='" & strreaderid & "' and booktype.类别代码=bookinfo.类别代码 and lentinfo.还书日期 is null" Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\图书馆查询管理系统.mdb;persist security info=false" Adodc1.CursorLocation = adUseClient Adodc1.CommandType = adCmdText Adodc1.RecordSource = strdatasoure Adodc1.Refresh If blnrenew = False Then Set dtgrdLendBook.DataSource = Adodc1 dtgrdLendBook.Refresh lbllendcount.Caption = "所借图书:" + CStr(Adodc1.recordset.RecordCount) g_strSql = "select *from basicset" Set g_rs = g_db.openrecordset(g_strSql) intcount = g_rs!借出册数 - Adodc1.recordset.RecordCount lblremain.Caption = CStr(intcount) Else Set dtgrdLendBookRenew.DataSource = Adodc1 dtgrdLendBookRenew.Refresh End If End Function Private Sub txtreaderidrenew_KeyPress(KeyAscii As Integer) If KeyAscii = "13" And txtreaderidrenew.Text <> "" Then g_strSql = "select * from readerinfo where 读者编号='" & txtreaderidrenew.Text & "'" Set g_rs = g_db.openrecordset(g_strSql) If Not g_rs.EOF Then txtreadernamerenew.Text = g_rs!读者姓名 initdatagrid (True) Else MsgBox "没有该读者信息!", vbOKOnly, "提示" txtreadernamerenew.Text = "" cmdok.Enabled = False End If Set g_rs = noting ElseIf KeyAscii = "13" And txtreaderidrenew.Text = "" Then MsgBox "请先输入读者编号!", vbOKOnly, "提示" cmdok.Enabled = False End If End Sub 模块中的代码如下 Public g_ws As Workspace Public g_db As Database Public g_rs As Recordset Public g_strSql As String 运行时总是提示用户定义类型wordspace,database,recordset,未定义,在它的源码中也找不到那几个东东是在那定义的,但它的源码也可以运行,真是气死我也,求各位大师帮我出出这口恶气,谢谢,qq:94465584