管理信息系统课时1~7_第1页
管理信息系统课时1~7_第2页
管理信息系统课时1~7_第3页
管理信息系统课时1~7_第4页
管理信息系统课时1~7_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统1. 需求分析2. 功能模块图图书管理系统图书管理图书资料系统管理值班管理投诉管理图书登记图书借阅图书赔偿查询输出增加新用户修改密码退出系统3. E-R图图书登记实体书名编号购买日期定价类型图书借阅实体书名编号姓名归还日期图书证号借阅日期备注查询输出实体按编号查询按购买日期查询图书赔偿实体书名编号姓名赔偿金额图书证号借阅日期类型解决方法破坏程度投诉管理实体受诉日期受诉部分投诉内容投诉日期编号投诉对象处理意见值班管理实体值班截止时间值班开始时间值班开始日期记事值班人值班截止日期4. 结构设计图书管理模块:实现图书的登记、借阅、赔偿图书资料模块:实现图书的查询输出系统管理模块:实现用户

2、的增加、删除和修改投诉管理模块:实现对管理人员的投诉值班管理模块:实现管理人员的值班管理数据库设计1.建立数据库启动Access数据库,建立一个空数据库book.mdb点击“使用设计器创建表”出现下图图书登记图书借阅图书赔偿图书资料系统管理 书名2.设置ODBC数据源程序-ODBC-数据 “控制面板”-“管理工具”-“数据源”(ODBC)选“系统DSN”-点击“添加”出现下图所示选择Microsoft Access Driver(*mdb),单击“完成”点击“选择”按钮,选择BOOK数据库所在位置,如下图点击“确定”,数据源名:book(如下图)创建主窗口1. “工程”-“添加MDI窗体”2.

3、 设置该窗体属性:3. 在窗体上单击右键,-“菜单编辑器“,出现菜单编辑器对话框在对话框中输入下表对应的标题和名称。在里面输入下表内容标题名称图书管理tushuguanli.图书登记checkin.图书借阅borrow.图书赔偿tushupeichang图书资料tushuziliao.查询输出chaxunshuchu投诉管理tousuguanli值班管理zhibanguanli系统管理xitongguanli.添加新用户adduser.密码更改changepwd.退出系统exit(注意:表中的.使用生成)点击“确定”得到主菜单练习:设计如以下所示的主菜单窗体。人事管理系统主窗体,由员工管理、工

4、资管理、考核管理和部门管理构成。其中员工管理包括添加员工、删改员工、查询员工 工资管理包括新建工资单、工资单查询 考核管理包括添加评价、删改评价、查询评价部门管理包括添加部门、删改部门、部门列表 界面设计(1)1 打开VB新建-标准EXE-打开2.连接数据库选择“工程”-“引用”,在出现的对话框中选择”Microsoft ActiveX Date Objects2.0 Library”,单击”确定”。引用ADO连接数据库3,添加公共模块右键点击“窗体”-“添加”-“添加模块”点击“打开”,然后输入以下语句:(如下图)Option ExplicitPublic conn As New ADODB

5、.Connection '标记连接对象Public select_menu As String '标记所选择的菜单Public userID As String '标记当前用户IDPublic userpow As String '标记用户权限Public sqlfind As String '查询语句Public rs_data1 As New ADODB.Recordset '标记连接对象Public findok As Boolean 添加子窗体(1)子窗体建立在VB里面点击“工程”-“添加窗体”,出现添加窗体菜单选择“新建”-“窗体”,点

6、击“打开”,得到如下图所示设置(在右边的属性栏设置)得到下图所示子窗体同理练习添加以下七个子窗体“添加新用户”窗体 “修改密码”窗体 “图书登记”窗体 “图书借阅”窗体 “图书赔偿”窗体 “查询输出”窗体 “图书资料”窗体 (2)主窗体与子窗体的链接部分代码:Private Sub adduser_Click()frmadduser.ShowEnd SubPrivate Sub borrow_Click()frmjieyue.ShowEnd SubPrivate Sub changepwd_Click()frmchangepwd.ShowEnd Sub举一反三将剩下的代码写出各子窗体详细设计(

7、1)“用户登录(frmlogin)”窗口设计 界面设计属性设计 代码设计Option ExplicitDim cnt As Integer '记录确定次数Private Sub Command1_Click()Dim sql As StringDim rs_login As New ADODB.RecordsetIf Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空 MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFo

8、cusElse sql = "select * from 系统管理 where 用户名='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检验密码是否正确 If Trim(r

9、s_login.Fields(1) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me MDIForm1.Show Else MsgBox "密码不正确", vbOKOnly + vbExclamation, "" txtpwd.SetFocus End If End IfEnd Ifcnt = cnt + 1If cnt = 3 Then Unload MeEnd IfExit SubEnd SubPri

10、vate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim connectionstring As Stringconnectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=E:图书管理系统book.mdb"conn.Open connectionstringcnt = 0End Sub(4)“图书登记(frmdengji)”窗体5个(文本),5个(输入框),7个(按钮)在窗体控件栏“右键”

11、-“部件”弹出下对话框,勾选三个部件,点击确定。控件栏出现(DataGrid)图标,将其拖到窗体上,如下图将控件栏的(adodc),拖到窗体中,出现下图所示将adodc的点击,出现下图点击“生成”按钮,出现下图所示,选择“M Jet4.0”后点击“下一步”点击“测试连接”选择adodc的属性页中的出现下图所示:点击“确定”对adodc控件,设置再选择DataGrid控件,设置 在将:所有的Text控件,设置Text1设置,同理,Text2Text3 代码设计Private Sub Command1_Click()On Error GoTo adderr Text1.SetFocus Adodc

12、1.Recordset.AddNew Exit Subadderr: MsgBox Err.DescriptionEnd SubPrivate Sub Command2_Click() On Error GoTo deleteerr If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法删除!" Exit Sub End If With Adodc1.Recordset If Not .EOF And Not .BOF Then If MsgBox("删除当前记录吗?", vbYesNo + vbQuest

13、ion) = vbYes Then .Delete .MoveNext If .EOF Then .MoveLast End If End If End With Exit Subdeleteerr: MsgBox Err.DescriptionEnd SubPrivate Sub Command3_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfAdodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then MsgBox

14、"这是最后一条记录", vbOKCancel + vbQuestion Adodc1.Recordset.MoveLast End IfEnd SubPrivate Sub Command4_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfAdodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then MsgBox "这是第一条记录", vbOKCancel + vbQuest

15、ion Adodc1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command5_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfIf Adodc1.Recordset.EOF Then MsgBox "纪录空", vbOKCancel + vbQuestion End Else Adodc1.Recordset.MoveFirst End If Exit SubEnd SubPrivate Sub C

16、ommand6_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfIf Adodc1.Recordset.RecordCount = 0 Then MsgBox "空纪录", vbOKCancel + vbQuestion End Else Adodc1.Recordset.MoveLast End IfEnd SubPrivate Sub Command7_Click()MDIForm1.Showfrmdengji.HideEnd Sub同理,练习,

17、自己设计如下几个窗体(5)“图书借阅(frmjieyue)”窗体(方法与“图书登记”窗体设计步骤基本相同) 界面设计(6)“图书赔偿”(frmpeichang)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同) 界面设计(4)“图书登记(frmdengji)”窗体5个(文本),5个(输入框),7个(按钮)在窗体控件栏“右键”-“部件”弹出下对话框,勾选三个部件,点击确定。控件栏出现(DataGrid)图标,将其拖到窗体上,如下图将控件栏的(adodc),拖到窗体中,出现下图所示将adodc的点击,出现下图点击“生成”按钮,出现下图所示,选择“M Jet4.0”后点击“下一步”点击“测试

18、连接”选择adodc的属性页中的出现下图所示:点击“确定”对adodc控件,设置再选择DataGrid控件,设置 在将:所有的Text控件,设置Text1设置,同理,Text2Text3 代码设计Private Sub Command1_Click()On Error GoTo adderr Text1.SetFocus Adodc1.Recordset.AddNew Exit Subadderr: MsgBox Err.DescriptionEnd SubPrivate Sub Command2_Click() On Error GoTo deleteerr If Adodc1.Record

19、set.BOF = True Then MsgBox "没有记录,无法删除!" Exit Sub End If With Adodc1.Recordset If Not .EOF And Not .BOF Then If MsgBox("删除当前记录吗?", vbYesNo + vbQuestion) = vbYes Then .Delete .MoveNext If .EOF Then .MoveLast End If End If End With Exit Subdeleteerr: MsgBox Err.DescriptionEnd SubPri

20、vate Sub Command3_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfAdodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then MsgBox "这是最后一条记录", vbOKCancel + vbQuestion Adodc1.Recordset.MoveLast End IfEnd SubPrivate Sub Command4_Click()If Adodc1.Recordset.

21、BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfAdodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then MsgBox "这是第一条记录", vbOKCancel + vbQuestion Adodc1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command5_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!&q

22、uot; Exit SubEnd IfIf Adodc1.Recordset.EOF Then MsgBox "纪录空", vbOKCancel + vbQuestion End Else Adodc1.Recordset.MoveFirst End If Exit SubEnd SubPrivate Sub Command6_Click()If Adodc1.Recordset.BOF = True Then MsgBox "没有记录,无法显示!" Exit SubEnd IfIf Adodc1.Recordset.RecordCount = 0 Th

23、en MsgBox "空纪录", vbOKCancel + vbQuestion End Else Adodc1.Recordset.MoveLast End IfEnd SubPrivate Sub Command7_Click()MDIForm1.Showfrmdengji.HideEnd Sub同理,练习,自己设计如下几个窗体(5)“图书借阅(frmjieyue)”窗体(方法与“图书登记”窗体设计步骤基本相同) 界面设计(6)“图书赔偿”(frmpeichang)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同) 界面设计(7)“投诉管理”(frmtoushu

24、)窗体(方法与“图书登记”“图书借阅“窗体设计步骤基本相同)开发方法与代码设计与图书借阅,图书登记、图书赔偿基本相同,请尝试自行开发(2)“增加用户(frmadduser)”窗体4个(文本),3个(输入框),2个(按钮),一个(下拉框)密码的Text框,要设置代码Private Sub Command1_Click()Dim sql As StringDim rs_add As New ADODB.Recordset If Trim(Text1.Text) = "" Then MsgBox "用户名不能为空", vbOKOnly + vbExclamat

25、ion, "" Exit Sub Text1.SetFocusElse sql = "select * from 系统管理" rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic While (rs_add.EOF = False) If Trim(rs_add.Fields(0) = Trim(Text1.Text) Then MsgBox "已有这个用户", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1

26、.Text = "" Text2.Text = "" Text3.Text = "" Combo1.Text = "" Exit Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) = "" Then MsgBox "密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" Text2.Text = "" Text2.SetFocus Ex

27、it Sub End If If Trim(Text2.Text) <> Trim(Text3.Text) Then MsgBox "两次密码不一致", vbOKOnly + vbExclamation, "" Text2.SetFocus Text2.Text = "" Text3.Text = "" Exit Sub ElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "gu

28、est" 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.Fields(2) = Combo1.Text rs_add.Update rs_add.Close MsgBox "添加用户成功",

29、 vbOKOnly + vbExclamation, "" Unload Me End IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem "system"Combo1.AddItem "guest"End Sub(3)“修改密码(frmchangepwd)”窗体2个(文本),2个(输入框),2个(按钮)密码的Text框,要设置代码Private Sub Command1_Click()Dim

30、rs_chang As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) <> Trim(Text2.Text) Then MsgBox "密码不一致!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" Text2.Text = ""Else sql = "select * from 系统管理 where 用户名='" & userI

31、D & "'" rs_chang.Open sql, conn, adOpenKeyset, adLockPessimistic rs_chang.Fields(1) = Text1.Text rs_chang.Update rs_chang.Close MsgBox "密码修改成功", vbOKOnly + vbExclamation, "" Unload MeEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub(7)“图书查询”窗体(frmfind)代码

32、设计Option ExplicitDim rs_find As New ADODB.RecordsetPrivate Sub Command1_Click()On Error GoTo cmderrorDim find_date1 As StringIf Option1.Value = True Then sqlfind = "select * from 图书登记 where 编号 between '" & _ Combo1(0).Text & "'" & " and " & "

33、;'" & Combo1(1).Text & "'" End Ifrs_data1.Open sqlfind, conn, adOpenKeyset, adLockPessimisticfrmdatamanage.displaygrid1Unload Mefrmdatamanage.Showcmderror:If Err.Number <> 0 Then MsgBox "请输入正确的查询条件!", vbOKOnly + vbExclamation, "警告" Exit SubEnd

34、 IfEnd SubPrivate Sub Command2_Click()Unload MeMDIForm1.ShowEnd SubPrivate Sub Form_Load()Dim i As IntegerDim sql As StringIf findok = True Then rs_data1.CloseEnd Ifsql = "select * from 图书登记 order by 编号 desc"rs_find.CursorLocation = adUseClientrs_find.Open sql, conn, adOpenKeyset, adLockPe

35、ssimisticIf rs_find.EOF = False Then '添加编号 With rs_find Do While Not .EOF Combo1(0).AddItem .Fields(0) Combo1(1).AddItem .Fields(0) .MoveNext LoopEnd WithEnd IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)rs_find.CloseEnd Sub(8)“图书资料(frmdatamanage)“窗体设置使用数据库访问控件代码Option ExplicitDim rs_data2

36、As New ADODB.RecordsetDim select_row As StringDim showgrid2 As BooleanDim rs_custom As New ADODB.RecordsetDim modify As Boolean '修改状态标志Private Sub Command1_Click()Unload MeEnd SubPrivate Sub Form_Load()On Error GoTo loaderrorDim sql As Stringsql = "select * from 书名"rs_custom.CursorLoca

37、tion = adUseClientrs_custom.Open sql, conn, adOpenKeyset, adLockPessimisticWhile Not rs_custom.EOF Combo1.AddItem rs_custom.Fields(0) rs_custom.MoveNextWendfindok = Truemodify = False '非修改状态displaygrid1 '调用显示Datagrid1子程序loaderror:If Err.Number <> 0 Then MsgBox Err.DescriptionEnd IfEnd

38、Sub'显示msflexgrid1子程序Public Sub displaygrid1()Dim i As IntegerOn Error GoTo displayerrorsetgridsetgridheadMSFlexGrid1.Row = 0If Not rs_data1.EOF Then rs_data1.MoveFirst Do While Not rs_data1.EOF MSFlexGrid1.Row = MSFlexGrid1.Row + 1 MSFlexGrid1.Col = 0 If Not IsNull(rs_data1.Fields(0) Then MSFlex

39、Grid1.Text = rs_data1.Fields(0) Else MSFlexGrid1.Text = "" MSFlexGrid1.Col = 1 If Not IsNull(rs_data1.Fields(1) Then MSFlexGrid1.Text = rs_data1.Fields(1) Else MSFlexGrid1.Text = "" MSFlexGrid1.Col = 2 If Not IsNull(rs_data1.Fields(2) Then MSFlexGrid1.Text = rs_data1.Fields(2) El

40、se MSFlexGrid1.Text = "" MSFlexGrid1.Col = 3 If Not IsNull(rs_data1.Fields(3) Then MSFlexGrid1.Text = rs_data1.Fields(3) Else MSFlexGrid1.Text = "" MSFlexGrid1.Col = 4 If Not IsNull(rs_data1.Fields(4) Then MSFlexGrid1.Text = rs_data1.Fields(4) Else MSFlexGrid1.Text = ""

41、 rs_data1.MoveNext LoopEnd Ifdisplayerror:If Err.Number <> 0 Then MsgBox Err.DescriptionEnd IfEnd SubPublic Sub setgrid()Dim i As IntegerOn Error GoTo seterrorWith MSFlexGrid1 .ScrollBars = flexScrollBarBoth .FixedCols = 0 .Rows = rs_data1.RecordCount + 1 .Cols = 7 .SelectionMode = flexSelecti

42、onByRowFor i = 0 To .Rows - 1 .RowHeight(i) = 315NextFor i = 0 To .Cols - 1 .ColWidth(i) = 1300Next iEnd WithExit Subseterror: MsgBox Err.DescriptionEnd SubPublic Sub setgridhead()On Error GoTo setheaderrorMSFlexGrid1.Row = 0MSFlexGrid1.Col = 0MSFlexGrid1.Text = "编号"MSFlexGrid1.Col = 1MSFl

43、exGrid1.Text = "书名"MSFlexGrid1.Col = 2MSFlexGrid1.Text = "类型"MSFlexGrid1.Col = 3MSFlexGrid1.Text = "购买日期"MSFlexGrid1.Col = 4MSFlexGrid1.Text = "定价"Exit Subsetheaderror: MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)findok = Falsers_dat

44、a1.Closers_custom.CloseIf showgrid2 = True Then rs_data2.CloseEnd IfEnd Sub(9)“值班管理“窗体使用到了和和控件Option ExplicitDim rs_zhiban As New ADODB.RecordsetPrivate Sub cmdadd_Click()On Error GoTo adderrorIf cmdadd.Caption = "确认新增记录" Then '当此按钮的状态为为“增加记录”时 cmdadd.Caption = "确定" '按钮名称

45、改为“确定” cmddel.Enabled = False DataGrid1.AllowAddNew = True DataGrid1.AllowUpdate = True '设定datagrid可以增加记录ElseIf Not IsNull(DataGrid1.Bookmark) Then If Not IsDate(Trim(DataGrid1.Columns("值班开始日期").CellText(DataGrid1.Bookmark) Then MsgBox "请按照格式yyyy-mm-dd输入值班开始日期", vbOKOnly + vb

46、Exclamation, "" Exit Sub End If If Not IsDate(Trim(DataGrid1.Columns("值班开始时间").CellText(DataGrid1.Bookmark) Then MsgBox "请按照格式hh-mm输入值班开始时间", vbOKOnly + vbExclamation, "" Exit Sub End If If Not IsDate(Trim(DataGrid1.Columns("值班截止日期").CellText(DataGri

47、d1.Bookmark) Then MsgBox "请按照格式yyyy-mm-dd输入值班截止日期", vbOKOnly + vbExclamation, "" Exit Sub End If If Not IsDate(Trim(DataGrid1.Columns("值班截止时间").CellText(DataGrid1.Bookmark) Then MsgBox "请按照格式hh-mm输入值班截止时间", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论