1、摘 要1Abstract2第一章 引言411 课题背景412 系统简介5第二章 系统的分析621 系统开发的目标和思想622 系统的可行性分析8第三章 系统的设计1831 系统的功能结构设计1832 系统的数据库设计33 界面设计与代码设计2324结束语46致谢47参考文献摘 要 车辆管理系统用计算机管理机动车辆的档案,运营管理以及驾驶员信息的一种计算机应用技术的创新,在计算机还未普及之前车辆管理都是由工作人员手工抄写的方式来操作的.现在一般的车辆管理都是采用计算机作为工具的实用的计算机智能化车辆管理程序来帮助工作人员进行更有效的机动车辆管理。车辆管理系统是典型的信息管理系统(MIS),其开发
2、主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:评语管理,MIS,visual basic ,数据库AbstractVehicle Management System Computer us
3、ed motor vehicles archives management, operation and management of a driver information computer applications innovation, Management has not yet popular in the computer before the vehicles are from the staff manual transcription to operate. Now the general management of the vehicles are used as a to
4、ol for computer computer intelligent vehicle management procedures to help staff more effective management of motor vehicles. Vehicle management system is a typical management information system (MIS), including its main development background to the establishment and maintenance of the database and
5、 front-end application development 2. The request for the establishment of strong data consistency and integrity, good for the security of the data. For the latter request applications functions, such as easy to use features. After analysis, we use Microsoft visual basic development tool companies,
6、the use of its various object-oriented development tools, especially data that can be easily accessible and concise window manipulation database intelligent objects, the first prototype application system in a short time and then, computation of the initial prototype system needs to constantly revis
7、e and improve until the formation of a viable system of user satisfaction. keyword : comments management MIS,visual basic database第一章 引言11 课题背景车辆管理系统用计算机管理机动车辆的档案,运营管理以及驾驶员信息的一种计算机应用技术的创新,在计算机还未普及之前车辆管理都是由工作人员手工抄写的方式来操作的.现在一般的车辆管理都是采用计算机作为工具的实用的计算机智能化车辆管理程序来帮助工作人员进行更有效的机动车辆管理。车辆管理系统是典型的信息管理系统(MIS),其
8、开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。12 系统简介本系统主要服务于车管所工作人员管理辖区机动车辆,以及驾驶员相关信息,本系统由以下几大功能模块构成.一:车辆档案管理(车辆档案建立,车辆档案查询,车辆档案删除,车辆档案变更查询等.)二:车辆运营管理(车辆运营表,车辆运营查询,清空车辆运营表)三:车辆管理(车辆维修管理,车辆报废管理等)四:驾驶员管理(驾驶员档案管理,驾驶员档案查询等)五:系统维护(系统备份,系统还原,系统检查)第二章 系统的分析2.1系统开发的目
9、标和思想 本系统主要服务于机动车管理人员的日常工作.利用本系统可以方便的监控管理本区域的驾驶员信息.在此基础上力求软件界面人性化以及操作简单,程序具有健壮性等.2.2 系统的可行性分析技术上:本系统采用visual basic 6.0与微软的access作为数据库,技术上开发难度一般.经济上:本系统服务于车辆管理人员,提高了车管工作者办事效率,节省了开支.所以具有经济上的可行性.社会上:本系统同时也方便了广大驾驶员.所以具有社会可行性.第三章 系统的设计31 系统的功能结构设计程序登陆主界面车辆档案管理车辆运盈管理车辆管理驾驶员管理系统维护32 系统的数据库设计1.车辆报废表:2.车辆档案表:
10、3.车辆事故表:4:车辆违规表:5:车辆维修表:6:车辆变更表:7:车辆运营表:8:驾驶员档案9:奖惩表:10:零件表:11:用户表:33 界面设计与代码设计1:登陆界面设计登陆界面代码设计:Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1.SetFocus End IfEnd SubPrivate Sub Command1_Click() Set adors = adoCon.Execute(select * from 用户表 where 用户姓名=ltrim( & Text1 &
11、) and 密码=ltrim( & Text2 & ) and 用户类型=ltrim( & Combo1.Text & ) If adors.EOF Then MsgBox 您输入的信息有误,请重新输入!, , 系统提示 Text1 = Text2 = Text1.SetFocus i = i + 1 If i = 3 Then MsgBox 对不起,您已无权使用本系统!, , 系统提示 Unload Me End If Else Select Case adors!用户类型 Case 管理员 Case 普通用户 MDIForm1.mnuyydelete.Enabled = False MDI
12、Form1.mnusyscsh.Enabled = False MDIForm1.mnuglyset.Enabled = False End Select MDIForm1.Show adors.Close Unload Me End IfEnd SubPrivate Sub Command2_Click() Unload Me adoRs.CloseEnd SubPrivate Sub Form_Load() Combo1.ListIndex = 0End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13
13、Then Text2.SetFocus End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Combo1.SetFocus End IfEnd Sub2车辆报废查询:代码分析:Private Sub ckcp_Click() If ckcp.Value Then cmcp.Enabled = True Else cmcp.Enabled = False End IfEnd SubPrivate Sub cktime_Click() If cktime.Value Then dtSt
14、art.Enabled = True dtEnd.Enabled = True Else dtStart.Enabled = False dtEnd.Enabled = False End IfEnd SubPrivate Sub ckyy_Click() If ckyy.Value Then cmyy.Enabled = True Else cmyy.Enabled = False End IfEnd SubPrivate Sub cmdCha_Click() 点击查询按纽后首先清空车辆报废列表 Call QingKong 定义查询条件的字符串 Dim sql As String Dim s
15、cp As String If ckcp.Value Then scp = 车牌号码 like % & cmcp.Text & % Else scp = 车牌号码 like % End If Dim stime As String If cktime.Value Then stime = 报废日期 between # & dtStart.Month & / & dtStart.Day & / & dtStart.Year & # and # & dtEnd.Month & / & dtEnd.Day & / & dtEnd.Year & # Else stime = 报废日期 like % E
16、nd If Dim sdd As String If ckyy.Value Then syy = 报废原因 like% & cmyy.Text & % Else syy = 报废原因 like % End If sql = select * from 车辆报废表 where & scp & and & syy & and & stime 如果没有选择查询条件,那么清空上一次查询结果并给出对话框提示,退出查询过程 If sql = select * from 车辆报废表 where 车牌号码 like %and 报废原因 like %and 报废日期 like % Then Call QingK
17、ong MsgBox 请选择查询条件, , 系统提示 Exit Sub End If 返回符合查询条件的记录集 Set adors = adoCon.Execute(sql) 如果记录集为空,说明没有符合条件的记录存在,清空上一次查询结果集并提示, 退出此次查询过程,否则在datagrid1控件里显示记录集 If adors.EOF Then Call QingKong MsgBox 对不起,没有符合您查询条件的车辆!, , 系统提示 Else Adodc1.RecordSource = sql Adodc1.Refresh End If adors.Close ckcp.Value = 0
18、cktime.Value = 0 ckyy.Value = 0End SubPrivate Sub cmdExit_Click() MDIForm1.StatusBar1.Panels(1).Text = Unload MeEnd SubPrivate Sub Form_Load() frmcarBFcha.Height = 4155 frmcarBFcha.Width = 5730 Label1.Caption = 车辆报废列表 Call Rebind 将车辆报废表里的车牌号码加到cmcp控件里 Set adors = adoCon.Execute(select distinct 车牌号码,
19、报废原因 from 车辆报废表) On Error Resume Next Do cmcp.AddItem adors.Fields(0) cmyy.AddItem adors.Fields(1) adors.MoveNext Loop Until adors.EOFEnd SubPrivate Sub Rebind() Label1.Caption = 车辆报废列表 进行与数据库的绑定及选择作为记录源的表 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb
20、& ;Persist Security Info=False Adodc1.RecordSource = select * from 车辆报废表 Adodc1.RefreshEnd SubPrivate Sub QingKong() Label1.Caption = 您所要查询的报废车辆记录如下: Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb & ;Persist Security Info=False Adodc1.RecordSource = sel
21、ect * from 车辆报废表 where 0=1 Adodc1.RefreshEnd SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) cmdExit_ClickEnd Sub3.车辆档案查询:代码分析:Private Sub ckbf_Click() If ckbf.Value Then Combo6.Enabled = True Else Combo6.Enabled = False End IfEnd SubPrivate Sub ckbx_Click() If ckbx.Value T
22、hen Combo4.Enabled = True Else Combo4.Enabled = False End IfEnd SubPrivate Sub ckcp_Click() If ckcp.Value Then Combo1.Enabled = True Else Combo1.Enabled = False End IfEnd SubPrivate Sub ckdw_Click() If ckdw.Value Then Combo3.Enabled = True Else Combo3.Enabled = False End IfEnd SubPrivate Sub cklx_Cl
23、ick() If cklx.Value Then Combo2.Enabled = True Else Combo2.Enabled = False End IfEnd SubPrivate Sub ckyd_Click() If ckyd.Value Then Combo5.Enabled = True Else Combo5.Enabled = False End IfEnd SubPrivate Sub cmdAll_Click() Frame1.Enabled = False ckcp.Value = 0 cklx.Value = 0 ckdw.Value = 0 ckbx.Value
24、 = 0 ckyd.Value = 0 ckbf.Value = 0 Call Rebind cmdCha.Visible = True cmdAll.Visible = False cmdOk.Enabled = FalseEnd SubPrivate Sub cmdExit_Click() MDIForm1.StatusBar1.Panels(1).Text = Unload MeEnd SubPrivate Sub cmdCha_Click() 点击查询按纽后首先清空车辆档案列表 Call QingKong cmdCha.Visible = False cmdAll.Visible =
25、True Frame1.Enabled = True cmdOk.Enabled = TrueEnd SubPrivate Sub cmdOk_Click() Dim sql As String Dim scp As String If ckcp.Value Then scp = 车牌号码 like & Combo1.Text & % Else scp = 车牌号码 like % End If Dim slx As String If cklx.Value Then slx = 车辆类型 like% & Combo2.Text & % Else slx = 车辆类型 like % End If
26、 Dim sdw As String If ckdw.Value Then sdw = 车辆所在单位 like% & Combo3.Text & % Else sdw = 车辆所在单位 like % End If Dim sbx As String If ckbx.Value Then sbx = 保险否= & Combo4.Text & Else sbx = 保险否 like % End If Dim syd As String If ckyd.Value Then syd = 异动否= & Combo5.Text & Else syd = 异动否 like % End If Dim sbf
27、 As String If ckbf.Value Then sbf = 报废否= & Combo6.Text & Else sbf = 报废否 like % End If sql = select * from 车辆档案 where & scp & and & slx & and & sdw & and & sbx & and & syd & and & sbf MsgBox sql If sql = select * from 车辆档案 where 车牌号码 like %and 车辆类型 like %and 车辆所在单位 like %and 保险否 like %and 异动否 like %a
28、nd 报废否 like % Then MsgBox 请选择查询条件, , 系统提示 清空上一次的查询记录 Call QingKong Exit Sub End If Set adors = adoCon.Execute(sql) If adors.EOF Then 清空上一次的查询记录 Call QingKong 给出文本框提示 MsgBox 没有符合您查询车辆的条件!, , 系统提示 Else Adodc1.RecordSource = sql Adodc1.Refresh End If adors.Close ckcp.Value = 0 cklx.Value = 0 ckdw.Value
29、 = 0 ckbx.Value = 0 ckyd.Value = 0 ckbf.Value = 0End SubPrivate Sub Form_Load() Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb;Persist Security Info=False Call Rebind cmdAll.Visible = False cmdCha.Visible = True cmdOk.Enabled = False frmcardacha.Height
30、= 5070 frmcardacha.Width = 7935 将表里存在的所有车牌加到控件combo1里 On Error Resume Next Adodc1.RecordSource = select distinct 车牌号码 from 车辆档案 Do Combo1.AddItem Adodc1.Recordset.Fields(0) Adodc1.Recordset.MoveNext Loop Until Adodc1.Recordset.EOF Adodc1.Refresh Adodc2.RecordSource = select distinct 车辆类型 from 车辆档案 A
31、dodc2.Refresh Do Combo2.AddItem Adodc2.Recordset.Fields(0) Adodc2.Recordset.MoveNext Loop Until Adodc2.Recordset.EOF Adodc3.RecordSource = select distinct 车辆所在单位 from 车辆档案 Adodc3.Refresh Do Combo3.AddItem Adodc3.Recordset.Fields(0) Adodc3.Recordset.MoveNext Loop Until Adodc3.Recordset.EOF Adodc1.Rec
32、ordSource = select * from 车辆档案 Adodc1.RefreshEnd SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) cmdExit_ClickEnd SubPrivate Sub Rebind() Frame2.Caption = 车辆档案列表 联接数据库及选表 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb & ;Persis
33、t Security Info=False Adodc1.RecordSource = select * from 车辆档案 Adodc1.RefreshEnd SubPrivate Sub QingKong() Frame2.Caption = 您所要查询的车辆档案如下: 清空datagrid1控件里的记录 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb & ;Persist Security Info=False Adodc1.RecordSource
34、 = select * from 车辆档案 where 0=1 Adodc1.RefreshEnd Sub4 车辆事故查询界面:代码分析:Private Sub ckcp_Click() If ckcp.Value Then cmCP.Enabled = True Else cmCP.Enabled = False End IfEnd SubPrivate Sub cktime_Click() If cktime.Value Then dtStart.Enabled = True dtEnd.Enabled = True Else dtStart.Enabled = False dtEnd.E
35、nabled = False End IfEnd SubPrivate Sub cmdCha_Click() 点击查询按纽后首先清空车辆档案列表 Call QingKong 定义查询字符串 Dim sql As String Dim scp As String If ckcp.Value Then scp = 车牌号码 like & cmCP.Text & % Else scp = 车牌号码 like % End If Dim stime As String If cktime.Value Then stime = 事故时间 between # & dtStart.Month & / & dt
36、Start.Day & / & dtStart.Year & # and # & dtEnd.Month & / & dtEnd.Day & / & dtEnd.Year & # Else stime = 事故时间 like % End If sql = select * from 车辆事故表 where & scp & and & stime MsgBox sql If sql = select * from 车辆事故表 where 车牌号码 like %and 事故时间 like % Then Call QingKong MsgBox 请选择查询条件, , 系统提示 Exit Sub En
37、d If Set adors = adoCon.Execute(sql) If adors.EOF Then Call QingKong MsgBox 对不起,没有符合您查询条件的车辆事故记录!, , 系统提示 Else Adodc1.RecordSource = sql Adodc1.Refresh End If adors.Close ckcp.Value = 0 cktime.Value = 0 End SubPrivate Sub cmdExit_Click() MDIForm1.StatusBar1.Panels(1).Text = Unload MeEnd SubPrivate S
38、ub Form_Load() frmcarSGcha.Width = 6375 frmcarSGcha.Height = 3885 Call Rebind Set adors = adoCon.Execute(select distinct 车牌号码 from 车辆事故表) On Error Resume Next Do cmCP.AddItem adors.Fields(0) adors.MoveNext Loop Until adors.EOF adors.CloseEnd SubPrivate Sub Rebind() Frame2.Caption = 车辆事故列表 Adodc1.Con
39、nectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb;Persist Security Info=False Adodc1.RecordSource = select * from 车辆事故表 Adodc1.RefreshEnd SubPrivate Sub QingKong() Frame2.Caption = 您所要查询的车辆事故记录如下: Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb;Persist Security I