




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书管理系统需求分析功能模块图图书管理系统图书管理系统图书管理图书资料系统管理值班管理投诉管理图书登记图书借阅图书赔偿查询输出增加新用户修改密码退出系统E-R图图书登记实体图书登记实体书名编号购买日期定价类型图书借阅实体图书借阅实体书名编号姓名归还日期图书证号借阅日期备注查询输出实体查询输出实体按编号查询按购买日期查询图书赔偿实体图书赔偿实体书名编号姓名赔偿金额图书证号借阅日期类型解决方法破坏程度投诉管理实体投诉管理实体受诉日期受诉部分投诉内容投诉日期编号投诉对象处理意见值班管理实体值班管理实体值班截止时间值班开始时间值班开始日期记事值班人值班截止日期结构设计图书管理模块:实现图书的登记、借阅、赔偿图书资料模块:实现图书的查询输出系统管理模块:实现用户的增加、删除和修改投诉管理模块:实现对管理人员的投诉值班管理模块:实现管理人员的值班管理数据库设计1.建立数据库启动Access数据库,建立一个空数据库book.mdb点击“使用设计器创建表”出现下图图书登记图书借阅图书赔偿图书资料系统管理书名2.设置ODBC数据源程序-----ODBC-----数据“控制面板”----“管理工具”----“数据源”(ODBC)选“系统DSN”---点击“添加”出现下图所示选择MicrosoftAccessDriver(*mdb),单击“完成”点击“选择”按钮,选择BOOK数据库所在位置,如下图点击“确定”,数据源名:book(如下图)创建主窗口“工程”----“添加MDI窗体”设置该窗体属性:在窗体上单击右键,-----“菜单编辑器“,出现菜单编辑器对话框在对话框中输入下表对应的标题和名称。在里面输入下表内容标题名称图书管理tushuguanli….图书登记checkin….图书借阅borrow….图书赔偿tushupeichang图书资料tushuziliao….查询输出chaxunshuchu投诉管理tousuguanli值班管理zhibanguanli系统管理xitongguanli….添加新用户adduser….密码更改changepwd….退出系统exit(注意:表中的….使用生成)点击“确定”得到主菜单练习:设计如以下所示的主菜单窗体。人事管理系统主窗体,由员工管理、工资管理、考核管理和部门管理构成。其中员工管理包括添加员工、删改员工、查询员工工资管理包括新建工资单、工资单查询考核管理包括添加评价、删改评价、查询评价部门管理包括添加部门、删改部门、部门列表界面设计(1)打开VB新建---标准EXE----打开2.连接数据库选择“工程”---“引用”,在出现的对话框中选择”MicrosoftActiveXDateObjects2.0Library”,单击”确定”。引用ADO连接数据库3,添加公共模块右键点击“窗体”----“添加”-----“添加模块”点击“打开”,然后输入以下语句:(如下图)OptionExplicitPublicconnAsNewADODB.Connection'标记连接对象Publicselect_menuAsString'标记所选择的菜单PublicuserIDAsString'标记当前用户IDPublicuserpowAsString'标记用户权限PublicsqlfindAsString'查询语句Publicrs_data1AsNewADODB.Recordset'标记连接对象PublicfindokAsBoolean添加子窗体(1)子窗体建立在VB里面点击“工程”----“添加窗体”,出现添加窗体菜单选择“新建”---“窗体”,点击“打开”,得到如下图所示设置(在右边的属性栏设置)得到下图所示子窗体同理练习添加以下七个子窗体“添加新用户”窗体“修改密码”窗体“图书登记”窗体“图书借阅”窗体“图书赔偿”窗体“查询输出”窗体“图书资料”窗体(2)主窗体与子窗体的链接部分代码:PrivateSubadduser_Click()frmadduser.ShowEndSubPrivateSubborrow_Click()frmjieyue.ShowEndSubPrivateSubchangepwd_Click()frmchangepwd.ShowEndSub举一反三将剩下的代码写出各子窗体详细设计(1)“用户登录(frmlogin)”窗口设计界面设计属性设计代码设计OptionExplicitDimcntAsInteger'记录确定次数PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(txtuser.Text)=""Then'判断输入的用户名是否为空MsgBox"没有这个用户",vbOKOnly+vbExclamation,""txtuser.SetFocusElsesql="select*from系统管理where用户名='"&txtuser.Text&"'"rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThenMsgBox"没有这个用户",vbOKOnly+vbExclamation,""txtuser.SetFocusElse'检验密码是否正确IfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)ThenuserID=txtuser.Textuserpow=rs_login.Fields(2)rs_login.CloseUnloadMeMDIForm1.ShowElseMsgBox"密码不正确",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfcnt=cnt+1Ifcnt=3ThenUnloadMeEndIfExitSubEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconnectionstringAsStringconnectionstring="provider=Microsoft.Jet.oledb.4.0;"&_"datasource=E:\图书管理系统\book.mdb"conn.Openconnectionstringcnt=0EndSub(4)“图书登记(frmdengji)”窗体5个(文本),5个(输入框),7个(按钮)在窗体控件栏“右键”---“部件”弹出下对话框,勾选三个部件,点击确定。控件栏出现(DataGrid)图标,将其拖到窗体上,如下图将控件栏的(adodc),拖到窗体中,出现下图所示将adodc的点击,出现下图点击“生成”按钮,出现下图所示,选择“MJet4.0…”后点击“下一步”点击“测试连接”选择adodc的属性页中的出现下图所示:点击“确定”对adodc控件,设置再选择DataGrid控件,设置在将:所有的Text控件,设置Text1设置,同理,Text2Text3代码设计PrivateSubCommand1_Click()OnErrorGoToadderrText1.SetFocusExitSubadderr:MsgBoxErr.DescriptionEndSubPrivateSubCommand2_Click()OnErrorGoTodeleteerrIfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法删除!"ExitSubEndIfWithAdodc1.RecordsetIfNot.EOFAndNot.BOFThenIfMsgBox("删除当前记录吗?",vbYesNo+vbQuestion)=vbYesThen.Delete.MoveNextIf.EOFThen.MoveLastEndIfEndIfEndWithExitSubdeleteerr:MsgBoxErr.DescriptionEndSubPrivateSubCommand3_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"这是最后一条记录",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand4_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.BOFThenMsgBox"这是第一条记录",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand5_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"纪录空",vbOKCancel+vbQuestionEndElseEndIfExitSubEndSubPrivateSubCommand6_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.RecordCount=0ThenMsgBox"空纪录",vbOKCancel+vbQuestionEndElseEndIfEndSubPrivateSubCommand7_Click()MDIForm1.Showfrmdengji.HideEndSub同理,练习,自己设计如下几个窗体(5)“图书借阅(frmjieyue)”窗体(方法与“图书登记”窗体设计步骤基本相同)界面设计(6)“图书赔偿”(frmpeichang)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同)界面设计(4)“图书登记(frmdengji)”窗体5个(文本),5个(输入框),7个(按钮)在窗体控件栏“右键”---“部件”弹出下对话框,勾选三个部件,点击确定。控件栏出现(DataGrid)图标,将其拖到窗体上,如下图将控件栏的(adodc),拖到窗体中,出现下图所示将adodc的点击,出现下图点击“生成”按钮,出现下图所示,选择“MJet4.0…”后点击“下一步”点击“测试连接”选择adodc的属性页中的出现下图所示:点击“确定”对adodc控件,设置再选择DataGrid控件,设置在将:所有的Text控件,设置Text1设置,同理,Text2Text3代码设计PrivateSubCommand1_Click()OnErrorGoToadderrText1.SetFocusExitSubadderr:MsgBoxErr.DescriptionEndSubPrivateSubCommand2_Click()OnErrorGoTodeleteerrIfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法删除!"ExitSubEndIfWithAdodc1.RecordsetIfNot.EOFAndNot.BOFThenIfMsgBox("删除当前记录吗?",vbYesNo+vbQuestion)=vbYesThen.Delete.MoveNextIf.EOFThen.MoveLastEndIfEndIfEndWithExitSubdeleteerr:MsgBoxErr.DescriptionEndSubPrivateSubCommand3_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"这是最后一条记录",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand4_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.BOFThenMsgBox"这是第一条记录",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand5_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"纪录空",vbOKCancel+vbQuestionEndElseEndIfExitSubEndSubPrivateSubCommand6_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"没有记录,无法显示!"ExitSubEndIfIfAdodc1.Recordset.RecordCount=0ThenMsgBox"空纪录",vbOKCancel+vbQuestionEndElseEndIfEndSubPrivateSubCommand7_Click()MDIForm1.Showfrmdengji.HideEndSub同理,练习,自己设计如下几个窗体(5)“图书借阅(frmjieyue)”窗体(方法与“图书登记”窗体设计步骤基本相同)界面设计(6)“图书赔偿”(frmpeichang)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同)界面设计(7)“投诉管理”(frmtoushu)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同)开发方法与代码设计与图书借阅,图书登记、图书赔偿基本相同,请尝试自行开发(2)“增加用户(frmadduser)”窗体4个(文本),3个(输入框),2个(按钮),一个(下拉框)密码的Text框,要设置代码PrivateSubCommand1_Click()DimsqlAsStringDimrs_addAsNewADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"用户名不能为空",vbOKOnly+vbExclamation,""ExitSubText1.SetFocusElsesql="select*from系统管理"rs_add.Opensql,conn,adOpenKeyset,adLockPessimisticWhile(rs_add.EOF=False)IfTrim(rs_add.Fields(0))=Trim(Text1.Text)ThenMsgBox"已有这个用户",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Text3.Text=""Combo1.Text=""ExitSubElsers_add.MoveNextEndIfWendIfTrim(Text2.Text)=""ThenMsgBox"密码不能为空,请重新输入!",vbOKOnly+vbExclamation,"警告"Text2.Text=""Text2.SetFocusExitSubEndIfIfTrim(Text2.Text)<>Trim(Text3.Text)ThenMsgBox"两次密码不一致",vbOKOnly+vbExclamation,""Text2.SetFocusText2.Text=""Text3.Text=""ExitSubElseIfTrim(Combo1.Text)<>"system"AndTrim(Combo1.Text)<>"guest"ThenMsgBox"请选择正确的用户权限",vbOKOnly+vbExclamation,""Combo1.SetFocusCombo1.Text=""ExitSubElsers_add.AddNewrs_add.Fields(0)=Text1.Textrs_add.Fields(1)=Text2.Textrs_add.Fields(2)=Combo1.Textrs_add.Updaters_add.CloseMsgBox"添加用户成功",vbOKOnly+vbExclamation,""UnloadMeEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Combo1.AddItem"system"Combo1.AddItem"guest"EndSub(3)“修改密码(frmchangepwd)”窗体2个(文本),2个(输入框),2个(按钮)密码的Text框,要设置代码PrivateSubCommand1_Click()Dimrs_changAsNewADODB.RecordsetDimsqlAsStringIfTrim(Text1.Text)<>Trim(Text2.Text)ThenMsgBox"密码不一致!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Elsesql="select*from系统管理where用户名='"&userID&"'"rs_chang.Opensql,conn,adOpenKeyset,adLockPessimisticrs_chang.Fields(1)=Text1.Textrs_chang.Updaters_chang.CloseMsgBox"密码修改成功",vbOKOnly+vbExclamation,""UnloadMeEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSub(7)“图书查询”窗体(frmfind)代码设计OptionExplicitDimrs_findAsNewADODB.RecordsetPrivateSubCommand1_Click()OnErrorGoTocmderrorDimfind_date1AsStringIfOption1.Value=TrueThensqlfind="select*from图书登记where编号between'"&_Combo1(0).Text&"'"&"and"&"'"&Combo1(1).Text&"'"EndIfrs_data1.Opensqlfind,conn,adOpenKeyset,adLockPessimisticfrmdatamanage.displaygrid1UnloadMefrmdatamanage.Showcmderror:IfErr.Number<>0ThenMsgBox"请输入正确的查询条件!",vbOKOnly+vbExclamation,"警告"ExitSubEndIfEndSubPrivateSubCommand2_Click()UnloadMeMDIForm1.ShowEndSubPrivateSubForm_Load()DimiAsIntegerDimsqlAsStringIffindok=TrueThenrs_data1.CloseEndIfsql="select*from图书登记orderby编号desc"rs_find.CursorLocation=adUseClientrs_find.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_find.EOF=FalseThen'添加编号Withrs_findDoWhileNot.EOFCombo1(0).AddItem.Fields(0)Combo1(1).AddItem.Fields(0).MoveNextLoopEndWithEndIfEndSubPrivateSubForm_Unload(CancelAsInteger)rs_find.CloseEndSub(8)“图书资料(frmdatamanage)“窗体设置使用数据库访问控件代码OptionExplicitDimrs_data2AsNewADODB.RecordsetDimselect_rowAsStringDimshowgrid2AsBooleanDimrs_customAsNewADODB.RecordsetDimmodifyAsBoolean'修改状态标志PrivateSubCommand1_Click()UnloadMeEndSubPrivateSubForm_Load()OnErrorGoToloaderrorDimsqlAsStringsql="select*from书名"rs_custom.CursorLocation=adUseClientrs_custom.Opensql,conn,adOpenKeyset,adLockPessimisticWhileNotrs_custom.EOFCombo1.AddItemrs_custom.Fields(0)rs_custom.MoveNextWendfindok=Truemodify=False'非修改状态displaygrid1'调用显示Datagrid1子程序loaderror:IfErr.Number<>0ThenMsgBoxErr.DescriptionEndIfEndSub'显示msflexgrid1子程序PublicSubdisplaygrid1()DimiAsIntegerOnErrorGoTodisplayerrorsetgridsetgridheadMSFlexGrid1.Row=0IfNotrs_data1.EOFThenrs_data1.MoveFirstDoWhileNotrs_data1.EOFMSFlexGrid1.Row=MSFlexGrid1.Row+1MSFlexGrid1.Col=0IfNotIsNull(rs_data1.Fields(0))ThenMSFlexGrid1.Text=rs_data1.Fields(0)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=1IfNotIsNull(rs_data1.Fields(1))ThenMSFlexGrid1.Text=rs_data1.Fields(1)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=2IfNotIsNull(rs_data1.Fields(2))ThenMSFlexGrid1.Text=rs_data1.Fields(2)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=3IfNotIsNull(rs_data1.Fields(3))ThenMSFlexGrid1.Text=rs_data1.Fields(3)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=4IfNotIsNull(rs_data1.Fields(4))ThenMSFlexGrid1.Text=rs_data1.Fields(4)ElseMSFlexGrid1.Text=""rs_data1.MoveNextLoopEndIfdisplayerror:IfErr.Number<>0ThenMsgBoxErr.DescriptionEndIfEndSubPublicSubsetgrid()DimiAsIntegerOnErrorGoToseterrorWithMSFlexGrid1.ScrollBars=flexScrollBarBoth.FixedCols=0.Rows=rs_data1.RecordCount+1.Cols=7.SelectionMode=flexSelectionByRowFori=0To.Rows-1.RowHeight(i)=315NextFori=0To.Cols-1.ColWidth(i)=1300NextiEndWithExitSubseterror:MsgBoxErr.DescriptionEndSubPublicSubsetgridhead()OnErrorGoTosetheaderrorMSFlexGrid1.Row=0MSFlexGrid1.Col=0MSFlexGrid1.Text="编号"MSFlexGrid1.Col=1MSFlexGrid1.Text="书名"MSFlexGrid1.Col=2MSFlexGrid1.Text="类型"MSFlexGrid1.Col=3MSFlexGrid1.Text="购买日期"MSFlexGrid1.Col=4MSFlexGrid1.Text="定价"ExitSubsetheaderror:MsgBoxErr.DescriptionEndSubPrivateSubForm_Unload(CancelAsInteger)findok=Falsers_data1.Closers_custom.CloseIfshowgrid2=TrueThenrs_data2.CloseEndIfEndSub(9)“值班管理“窗体使用到了和和控件OptionExplicitDimrs_zhibanAsNewADODB.RecordsetPrivateSubcmdadd_Click()OnErrorGoToadderrorIfcmdadd.Caption="确认新增记录"Then'当此按钮的状态为为“增加记录”时cmdadd.Caption="确定"'按钮名称改为“确定”cmddel.Enabled=FalseDataGrid1.AllowAddNew=TrueDataGrid1.AllowUpdate=True'设定datagrid可以增加记录ElseIfNotIsNull(DataGrid1.Bookmark)ThenIfNotIsDate(Trim(DataGrid1.Columns("值班开始日期").CellText(DataGrid1.Bookmark)))ThenMsgBox"请按照格式yyyy-mm-dd输入值班开始日期",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班开始时间").CellText(DataGrid1.Bookmark)))ThenMsgBox"请按照格式hh-mm输入值班开始时间",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班截止日期").CellText(DataGrid1.Bookmark)))ThenMsgBox"请按照格式yyyy-mm-dd输入值班截止日期",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班截止时间").CellText(DataGrid1.Bookmark)))ThenMsgBox"请按照格式hh-mm输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行中医义诊活动方案
- 心绞痛急救处理
- T/ZHCA 025-2023化妆品抗氧化人体测试方法
- 健康扶贫工程实施路径与成效分析
- 2025辽宁工程职业学院辅导员考试试题及答案
- 2025贵州工业职业技术学院辅导员考试试题及答案
- 2025石家庄理工职业学院辅导员考试试题及答案
- 母亲节活动总结
- T/ZGSCJXH 5-2021太岁收藏鉴定技术规程
- 基本公共卫生服务项目宣传
- 人才盘点与人才储备计划设计合同
- 医美公司保密协议书
- 道路交通安全宣传课件
- 艺术基金授课协议书
- 2024年广东省普宁市事业单位公开招聘警务岗笔试题带答案
- 《农业机械操作培训》课件
- 2025委托维修服务合同模板
- 广告设计师项目实操试题及答案
- 2025年上海市春考语文试卷(较为完整版暂无答案)
- 企业安全环保责任体系构建与实施路径
- 陕西电网面试试题及答案
评论
0/150
提交评论