最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

车辆管理调度系统论文

来源:动视网 责编:小OO 时间:2025-09-27 00:16:34
文档

车辆管理调度系统论文

车辆管理系统目录摘要…………………………………………………………………………….2关键词……………………………………………………………………………2第一章概述…………………………………………………………………….2第二章系统分析………………………………………………………………22.1系统目标……………………………………………………………………32.2功能分析……………………………………………………………………32.3系统流程………………………………………………………………………3第三章系统设计
推荐度:
导读车辆管理系统目录摘要…………………………………………………………………………….2关键词……………………………………………………………………………2第一章概述…………………………………………………………………….2第二章系统分析………………………………………………………………22.1系统目标……………………………………………………………………32.2功能分析……………………………………………………………………32.3系统流程………………………………………………………………………3第三章系统设计
           车辆管理系统

目     录

摘要 …………………………………………………………………………….2

关键词……………………………………………………………………………2

第一章  概述……………………………………………………………………. 2

第二章  系统分析………………………………………………………………2

      2.1系统目标 ……………………………………………………………………3

         2.2 功能分析 ……………………………………………………………………3

         2.3系统流程………………………………………………………………………3

第三章  系统设计………………………………………………………………..2

         3.1系统功能结构设计…………………………………………………………….2

         3.2数据库设计…………………………………………………………………….3

第四章  公用模块设计………………………………………………….………6

第五章  系统登录…………………………………………………………..……6

第六章  MDI主窗口设计 ……………………………………………………….7

第七章  主要功能模块详细设计……………………………..……………….9

          7.1车辆档案录入………………………………………………………………….9

          7.2车辆运营列表…………………………………………………………………13

          7.3车辆运营查询…………………………………………………………………16

          7.4车辆事故列表…………………………………………………………………18

          7.5车辆违章列表…………………………………………………………………22

          7.6车辆维修列表…………………………………………………………………26

          7.7驾驶员奖罚……………………………………………………………………30

第八章  数据库备份和恢复……………………………………………………..33

         8.1数据库备份设计……………………………………………………………..33

          8.2  数据库恢复设计………………………………………………………..….34

第九章结束语……………………………………………………………….…..34

参考文献………………………………………………………………..36

摘要:

随着计算机技术的迅速发展,计算机已经渗透到了各个应用领域。尤其是车辆的逐年增多和车辆的信息增加,车辆的管理不能够由传统的人工管理来进行管理,所以必须运用到计算机来进行管理。本车辆管理系统的完成就是基于VB应用程序和Access2000数据库,能够通过VB窗口对数据库进行操作。系统采用服务器(Server)形式,既方便实现车辆信息的查询,而且也大大提高了程序的可维护性和重复利用性。

关键词: VB程序设计,Access2000数据库,车辆管理.

第一章  概述

随着我国经济的快速发展,人民生活水平的提高,以及人们的对物资的购买力提高,汽车已成为人们不可缺少的交通工具。特别是对于拥有大量车辆的机关企事业单位来说,车辆的管理已成为日常事务中的一项重要的工作,为了如何让管理人员及时了解每一辆车的情况,提高车辆的使用效率,减少费用支出,成为各个单位需要解决的一个难题,为了规范企业内部的管理,提高企业管理质量,更好的服务于广大的客户的情况下,我们必须要开发一套专门用于车辆管理的系统,可以集中管理车辆的运营,维修,事故,违章等一系列的信息,使企业进入车辆管理信息化,科学化。同时也可以节省人力,物力,财力。

第二章  系统分析

  (1)系统目标

    针对相关车辆管理的情况,车辆管理系统要达到的目标:

    *由人工管理过渡到机械自动化,系统化,规范化管理。

    *违章车辆,事故车辆及车辆的维修费用一目了然。

*及时掌握车辆的运营情况,提高车辆的利用效和经济益。

  (2)功能分析

     系统功能分析是在系统开发总体任务的基础下完成的。车辆管理系统功能主要包括:档案管理,运营管理,车辆管理,驾驶员管理,系统维护等功能。

   * 车辆档案录入,车辆档案查询,车辆异动,车辆异动查询,车辆报废,车辆报废查询。

   * 车辆运营管理,车辆运营查询,清空运营列表。

   *  车辆维修管理,车辆维修查询,添加零件,车辆违章管理,车辆违章查询,车辆事故管理,车辆事故查询。

   * 驾驶员档案,驾驶员档案查询,驾驶员奖罚。

   * 系统初始化,管理员设置,数据备份,数据恢复。

(3)系统流程

      

                        系统流程图

第三章  系统设计

   (1)系统功能结构设计

    

 

                                  系统功能结构图        

(2)数据库设计     

       数据库的设计是根据用户的需求和数据是流量的大小来设计,同时结合Access 2000数据库操作方便,简单易学,系统资源占有低,不用数据库服务主持等优点,本系统使用了Access 2000数据库作为后台数据库.

      车辆管理系统的数据表有以下表组成:用户表,车辆档案表,车辆报废表,车辆类型表,车辆事故表,车辆违章表,车辆维修表,车辆异动表,车辆运营表,驾驶员档案表,奖罚表,零件表。

               1.用户表

字段名称数据类型字段大小必添字段允许空字符串
用户姓名文本20否   

密码文本20
用户类型文本20
             2.车辆档案表

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
车辆类型文本10
驾驶员编号文本10
购置日期时间/日期

厂牌型号文本30
使用人或单位文本30
车辆所在单位文本30
年检审文本2
保险否文本2
异地否文本2
报废否文本2
备注备注
     

3 .车辆报废表

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
报废原因文本30
报废日期时间/日期

经手人文本8
备注备注
4. 车辆报废表

字段名称数据类型字段大小必添字段允许空字符串
   类型

文本14
5.车辆事故表

字段名称数据类型字段大小必添字段允许空字符串
事故编号文本10
车辆号码文本10
车辆类型事故文本14
事故时间时间/日期

事故概要文本50
事故确认者文本8是 

公司负担金数字双精度型
保险理赔金数字双精度型
对方赔偿金数字双精度型
对方姓名文本8
对付住址文本30
对方所在单位文本30
对方损坏程度文本10
和解内容备注
6.车辆违章表

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
原因文本10
处罚文本30
违章时间时间/日期

备注备注
7.车辆维修表

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
更换零件1

文本20
零件1数量

数字整型
更换零件2

文本20
零件2数量

数字整型
更换零件3

文本20
零件3数量

数字整型
维修日期时间/日期

共计费用文本2
备注备注
8.车辆异动表 

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
异动时间时间/日期

异动地点文本30
经手人文本8
备注备注
       9. 车辆运营表

字段名称数据类型字段大小必添字段允许空字符串
车牌号码文本10
运营日期日期/时间

运营时间数字整型
运营收入数字双精度型
备注数字
          10.  驾驶员档案表

字段名称数据类型字段大小必添字段允许空字符串
驾驶员编号

文本18
姓名文本8
性别文本2
出生年月日期/时间

驾驶证号文本30
领证明日期数字
证件有效期文本15
驾龄日期/时间

双精度型
准驾车型文本14
何时参加工作日期/时间

联系电话文本16
年检记录文本20
备注备注
          11.  奖罚表

字段名称数据类型字段大小字段大小允许空字符串
车牌号码文本8
姓名文本8
运营收入数字双精度型
运营次数数字整型
维修费用数字双精度型
违章次数数字整型
事故次数数字整型
日期文本12
每月得分数字双精度型
每月奖金数字双精度型
           12.  零件表

字段名称数据类型字段大小字段大小允许空字符串
零件名文本30
单价数字双精度型
第四章  公用模块设计

  为了节省系统资源,必须要新建设一个模块,该模块用于连接各个模块中的数据表,,从而不避免在程序中运用大量的ADO控件,给开发应用程序带来诸多不便.该模块中的程序代码如下:

 Public adoCon As New ADODB.Connection

Public adors As New ADODB.Recordset

Public Sub main()

    Set adoCon = New ADODB.Connection

    adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\clgl.mdb" & ";Persist Security Info=False"

    frmLogin.Show

    frmLogin.Text1.SetFocus

End Sub

第五章   系统登录

   系统登录窗口是操作用户进入系统的惟一入口,分为两种权限:管理员权限和普通用户权限.通过在”登录”按钮的Click事件下使用SQL语句判断用户名称,密码和用户类型,进入系统.

   操作用户的权限不同的功能模块也不同,管理员可以维护整个系统和系统操纵身分,而普通用户只能对系统各别功能进行操作.

* 窗口界面设计 

         系统等录窗口设计图

(1)新建设又个窗口,设置该窗口的名称为“ frrmlogin”,caption属性为“系统登录”,设置Borderstyle属性为“1-fiexed single”, 在该窗口上依次添加控件。 

(2)在frrmlogin窗口上添加Label,ComboBox控件。 

(3)在窗口上添加Text控件。

(4)程序代码是:

     

Private Sub Command1_Click()

  If Text3.Text = "" Then

    MsgBox "您还没有注册系统用户!", , "系统提示"

    MDIForm1.Show

    Unload Me

    Exit Sub

  End If

    Set adors = adoCon.Execute("select * from 用户表 where 用户姓名=ltrim('" & Text1 & "') 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

                 MDIForm1.mnusyscsh.Enabled = False

                 MDIForm1.mnuglyset.Enabled = False

        End Select

        MDIForm1.Show

        adors.Close

        Unload Me

    End If

End Sub

    Private Sub Command2_Click()

    Unload Me

    'adoRs.Close

End Sub

]

第六章  MDI主窗口设计  

   车辆管理系统 主窗口MID的设计采用了多文档界面,即MDI技术.MDI窗口为程序提供了高效,多功能的良好平台,它的应用很广泛. 

     MID主窗口主要是由车辆档案管理,车辆运营管理,驾驶员管理,系统维护等几个大模块来组成的,也是退出系统的惟一出口。 

   

                           MDI主窗口设计图

(1)程序代码设计

*在主窗口菜单 “车辆运营管理”子菜单“清空运营表”的Click事件下添加如下代  码

  

Private Sub mnuyydelete_Click()

    If MsgBox("真的要清空运营表吗?", vbOKCancel, "系统提示") = vbOK Then

        adoCon.Execute ("delete from 车辆运营表")

    Else

        Exit Sub

    End If

End Sub

*在主窗口菜单“系统维护” 子菜单“系统初始化” 的Click事件下添加如下代码: 

Private Sub mnusyscsh_Click()

    If MsgBox("执行此命令会清空数据库里所有记录,确实要执行吗?", vbOKCancel, "系统提示") = vbOK Then

        adoCon.Execute ("delete from 车辆档案")

        adoCon.Execute ("delete from 车辆报废表")

        adoCon.Execute ("delete from 车辆事故表")

        adoCon.Execute ("delete from 车辆违章表")

        adoCon.Execute ("delete from 车辆维修表")

        adoCon.Execute ("delete from 车辆异动表")

        adoCon.Execute ("delete from 车辆运营表")

        adoCon.Execute ("delete from 驾驶员档案")

        adoCon.Execute ("delete from 零件表")

        adoCon.Execute ("delete from 用户表")

        adoCon.Execute ("delete from 奖罚表")

    Else

        Exit Sub

    End If

End Sub

*在 ToolBar控件的索引值调用子窗口,在ToolBar控件的ButtonClick事件下添加如下代码:

Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)

    Select Case ButtonMenu.Index

        Case 1

            Call mnucardacha_Click

        Case 2

            Call mnujsycha_Click

        Case 3

            Call mnucaryycha_Click

        Case 5

            Call mnucarwxcha_Click

        Case 6

            Call mnucarwzcha_Click

        Case 7

            Call mnucarsgcha_Click

            

    End Select

    

End Sub  

第七章  主要功能模块详细设计

(1)车辆档案录入

   车辆档案录入操作窗口用于添加,修改,删除车辆信息。车辆档案的添加,修改,删除可以通过ADO对象来实现,也可以通过ADO控件实现,要使用到AddNew,Updateh和 Delete方法。

1  窗口界面设计

                 车辆档案窗口设计图

2程序代码设计

*设计一个Lockctl过程使控件不可用,该过程如下:

Private Sub Lockctl()

   Text1.Enabled = False: Combo1.Enabled = False: Combo2.Enabled = False

   Text4.Enabled = False: Text5.Enabled = False: Text6.Enabled = False

   Text7.Enabled = False

   DTPicker1.Enabled = False

   cmnj.Enabled = False: cmbx.Enabled = False: cmyd.Enabled = False: cmbf.Enabled = False

End Sub

Private Sub Unlockctl()

   Text1.Enabled = True: Combo1.Enabled = True: Combo2.Enabled = True

   Text4.Enabled = True: Text5.Enabled = True: Text6.Enabled = True

   Text7.Enabled = True

   DTPicker1.Enabled = True

   cmnj.Enabled = True: cmbx.Enabled = True: cmyd.Enabled = True: cmbf.Enabled = True

End Sub

Dim i As Integer

Private Sub Form_Load()

    frmcardalr.Height = 3075: frmcardalr.Width = 7410

    Adodc1.RecordSource = "select * from 车辆档案"

    Adodc1.Refresh

    If Adodc1.Recordset.RecordCount > 0 Then DTPicker1.Value = Adodc1.Recordset.Fields("购置日期")

    Adodc2.RecordSource = "select * from 车辆类型表"

    Adodc2.Refresh

    

    If Adodc2.Recordset.RecordCount = 0 Then Exit Sub

    For i = 0 To Adodc2.Recordset.RecordCount - 1

        Combo1.AddItem Adodc2.Recordset.Fields(0).Value

        Adodc2.Recordset.MoveNext

    Next

    

    Adodc3.RecordSource = "select * from 驾驶员档案"

    Adodc3.Refresh

    

    If Adodc3.Recordset.RecordCount = 0 Then Exit Sub

    For i = 0 To Adodc3.Recordset.RecordCount - 1

        Combo2.AddItem Adodc3.Recordset.Fields(0).Value

        Adodc3.Recordset.MoveNext

    Next

    On Error Resume Next

    Combo1.Text = Adodc1.Recordset.Fields(1)

    Combo2.Text = Adodc1.Recordset.Fields(2)

End Sub

*在Text1控件的LostFocus事件下,用户添加的“车牌号码”是否与表中的数据重复,其代码为:

Private Sub Text1_LostFocus()

    Dim rs As New ADODB.Recordset

    Set rs = adoCon.Execute("select * from 车辆档案 where 车牌号码='" & Text1.Text  

    If rs.EOF = False Then

        MsgBox "此车牌号码已经存在!", , "系统提示"

        Text1 = ""

        Text1.SetFocus

    End If

    rs.Close

End Sub

*在“添加”按钮的Click事件下添加代码为:

Private Sub cmdAdd_Click()

    Unlockctl

    DTPicker1.Value = Format(Now, "yyyy-mm-dd")

    Text1 = "": Text2 = "": Combo2 = "": Text4 = "": Text5 = "": Text6 = "": Text7 = ""

    Combo1.Text = ""

    cmnj.Text = "是"

    cmbx.Text = "是"

    cmyd.Text = "是"

    cmbf.Text = "是"

    Text1.SetFocus

    cmdOk.Enabled = True: cmdCancel.Enabled = True

    cmdDelete.Enabled = False: Combo1.Visible = True

    Adodc1.Enabled = False: cmdUpdate.Enabled = False

    i = 1

    End Sub

*在“修改” 按钮的Click事件下添加代码为:

Private Sub cmdUpdate_Click()

    Unlockctl

    i = 2

    cmdOk.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    Adodc1.Enabled = False: Text1.Enabled = False       

  End Sub

* 在“删除”的按钮的Click事件下添加代码为:

Private Sub cmdDelete_Click()

    If MsgBox("您确实要删除记录吗?", vbOKCancel, "系统提示") = vbOK Then

        adoCon.Execute ("delete from 车辆档案 where 车牌号码='" & Text1 & "'")

        MsgBox " 记录已删除!", , "系统提示"

        Adodc1.Refresh

    End If

End Sub

* 在“确定” 的按钮的Click事件下添加代码为:

Private Sub cmdOk_Click()

   Select Case i

        Case 1

            If Text1 = "" Then

                MsgBox "车牌号码不能为空", , "系统提示"

                Text1.SetFocus

                Exit Sub

            End If

            If Combo1.Text = "" Then

                MsgBox "车辆类型不能为空", , "系统提示"

                Combo1.SetFocus

                Exit Sub

            End If

            If DTPicker1.Value = "" Then

                MsgBox "购置日期不能为空", , "系统提示"

                DTPicker1.SetFocus

                Exit Sub

            End If

          adoCon.Execute ("insert into 车辆档案 values ('" & Text1 & "','" & Combo1 & "','" & Combo2 & "','" & DTPicker1.Value & "','" & Text7 & "','" & Text4 & "','" & Text5 & "','" & cmnj & "','" & cmbx & "','" & cmyd & "','" & cmbf & "','" & Text6 & "')")

          MsgBox "记录添加成功!", , "系统提示"

          Adodc1.Refresh

        Case 2

          adoCon.Execute ("update 车辆档案 set 车辆类型='" & Combo1 & "',驾驶员编号='" & Combo2 & "',使用人或单位='" & Text4 & "',车辆所在单位='" & Text5 & "',备注='" & Text6 & "', 厂牌型号='" & Text7 & "',购置日期='" & DTPicker1.Value & "',年检审='" & cmnj.Text & "',保险否='" & cmbx.Text & "',异动否='" & cmyd.Text & "',报废否='" & cmbf.Text & "' where 车牌号码='" & Text1 & "'")

          MsgBox "记录修改成功!", , "系统提示"

          Adodc1.Refresh

  End Select

    Lockctl

    cmdOk.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

End Sub

* 在“取消” 的按钮的Click事件下添加代码为:

Private Sub cmdCancel_Click()

    On Error Resume Next     '当没有添加数据的时候 处理异常

    Adodc1.Recordset.CancelUpdate

    Adodc1.Refresh

    Lockctl

    cmdOk.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

End Sub

(2)车辆运营列表

    车辆运营列表窗口用于添加,修改,删除车辆运营信息,通过Adodc控件实现车辆档案信息的添加,修改,删除的过程。

1 窗口界面设计

                    车辆运营列表窗口设计图

2  程序代码设计

●设计一个Lockctl过程使控件不可用,该过程为:

Private Sub Lockctl()

   Text1.Enabled = False: Text2.Enabled = False

   Text3.Enabled = False: Text4.Enabled = False

   DTPicker1.Enabled = False

End Sub

* 设计一个Lockctl过程使控件可用,该过程为:

Private Sub Unlockctl()

   Text1.Enabled = True: Text2.Enabled = True

   Text3.Enabled = True: Text4.Enabled = True

   DTPicker1.Enabled = True

End Sub

* 在代码窗口中定义数值型变量,作为保存或修改操作的开关变量

Dim i As Integer

●在窗口Load事件下添加代码:

Private Sub Form_Load()

  frmcarYYlr.Height = 2070: frmcarYYlr.Width = 7755

  Adodc1.RecordSource = "select * from 车辆运营表"

  Adodc1.Refresh

  If Adodc1.Recordset.RecordCount > 0 Then DTPicker1.Value = Adodc1.Recordset.Fields("运营日期").Value

End Sub

Private Sub Text1_LostFocus()

    If Text1.Text = "" Then Exit Sub

    Dim rss As New ADODB.Recordset

    Dim rss1 As New ADODB.Recordset

    Dim rss2 As New ADODB.Recordset

    '此车是否是本公司的

    Set rss = adoCon.Execute("select * from 车辆档案 where 车牌号码='" & Text1.Text & "'")

    If rss.EOF Then

       MsgBox "这辆车不属于本公司的!", , "系统提示"

       Text1.Text = ""

       Text1.SetFocus

       Exit Sub

    End If

    rss.Close

    '此车是否报废了

    Set rss1 = adoCon.Execute("select * from 车辆报废表 where 车牌号码='" & Text1.Text & "'")

    If rss1.EOF Then

    Else

       MsgBox "此车已经报废,不能参加运营!", , "系统提示"

       Text1.Text = ""

       Text1.SetFocus

       Exit Sub

    End If

    rss1.Close

    '此车是否异动了

    Set rss2 = adoCon.Execute("select * from 车辆异动表 where 车牌号码='" & Text1.Text & "'")

    If rss2.EOF Then

    Else

       MsgBox "此车为“异动车辆”不能参加运营!", , "系统提示"

       Text1.Text = ""

       Text1.SetFocus

       Exit Sub

    End If

    rss2.Close

End Sub

* 在“添加”按钮的Click事件下,通过ADO控件的NDDNEW方法开辟存储数据的空间,其代码为:

Private Sub cmdAdd_Click()

    Unlockctl

    Adodc1.Recordset.AddNew

    Text1 = "": Text2 = ""

    Text3 = "": Text4 = ""

    Text1.SetFocus

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdUpdate.Enabled = False: cmdDelete.Enabled = False

    Adodc1.Enabled = False

    i = 1

End Sub

●在“修改” 按钮的Click事件下,添加代码为:

Private Sub cmdUpdate_Click()

    Unlockctl

    Text1.Enabled = False

    i = 2

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    Adodc1.Enabled = False

End Sub

●在“删除” 按钮的Click事件下,通过ADO控件的NDDNEW方法删除数据,其代码为:

Private Sub cmdDelete_Click()

    If MsgBox("您确实要删除记录吗?", vbOKCancel, "系统提示") = vbOK Then

        Adodc1.Recordset.Delete

        MsgBox " 记录已删除!", , "系统提示"

        Adodc1.Refresh

    End If

End Sub

●在“确定” 按钮的Click事件下,添加代码为:

Private Sub cmdOk_Click()

 Select Case i

        Case 1

          If Text1.Text = "" Then

             MsgBox "车牌号码不能为空!!", , "系统提示"

             Text1.SetFocus

             Exit Sub

          End If

          If Text2.Text = "" Then

             MsgBox "运营时间不能为空!!", , "系统提示"

             Text2.SetFocus

             Exit Sub

             Text3.SetFocus

          End If

         If Text3.Text = "" Then

           MsgBox "运营收入不能为空!!", , "系统提示"

           Text3.SetFocus

           Exit Sub

         End If

           Adodc1.Recordset.Fields(1) = DTPicker1.Value

           Adodc1.Recordset.Update

          MsgBox "记录添加成功!", , "系统提示"

        Case 2

           Adodc1.Recordset.Update

          MsgBox "记录修改成功!", , "系统提示"

  End Select

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

End Sub

●在“取消” 按钮的Click事件下,通过ADO控件CancelUpdate方法撤消对当前记录所作的任何更改或放弃新添加的记录,其代码为:

Private Sub cmdCancel_Click()

    On Error Resume Next     '当没有添加数据的时候 处理异常

    Adodc1.Recordset.CancelUpdate

    Adodc1.Refresh

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

End Sub

(3)车辆运营查询

车辆运营查询窗口主要完成按长牌号码,运营日期和运营时间来查询车辆运营情况。运营日期段和运营时间段查询功能的实现主要使用了SQL中的Between......And语句.

1窗口界面设计

                  车辆运营查询窗口设计图

2程序代码设计

●设计一个Rebind过程,用于显示表中所以数据:

Private Sub Rebind()

    Frame2.Caption = "车辆运营列表"

    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\clgl.mdb " & ";Persist Security Info=False"

    Adodc1.RecordSource = "select * from 车辆运营表"

    Adodc1.Refresh

End Sub

●设计一个QingKong过程。用于显示查询结果数据:

Private Sub QingKong()

    Frame2.Caption = "您所要查询的车辆运营记录如下:"

    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\clgl.mdb " & ";Persist Security Info=False"

    Adodc1.RecordSource = "select * from 车辆运营表 where 1=0"

    Adodc1.Refresh

End Sub

●在窗口Load事件下添加代码为:

Private Sub Form_Load()

    frmcarYYcha.Width = 6615

    frmcarYYcha.Height = 4260

    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.Close

    For i = 1 To 24

        cmbstar.AddItem i

        cmbend.AddItem i

    Next i

    cmbstar.ListIndex = 7

    cmbend.ListIndex = 11

End Sub

●在“查询”按钮的Click事件下利用Like运算和%通配符在数据库中匹配数据的模块,添加代码为:

Private 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 sdate As String

    If ckDate.Value Then

        sdate = "运营日期 between #" & dtStart.Month & "/" & dtStart.Day & "/" & dtStart.Year & "# and #" & dtEnd.Month & "/" & dtEnd.Day & "/" & dtEnd.Year & "#"

        Else

        sdate = "运营日期 like '%'"

    End If

    Dim stime As String

    If ckTime.Value Then

        stime = "运营时间 between " & Combo1.Text & " and " & Combo2.Text & ""

        Else

        stime = "运营时间 like '%'"

    End If

    sql = "select * from 车辆运营表 where " & scp & "and " & sdate & "and " & stime

    If sql = "select * from 车辆运营表 where 车牌号码 like '%'and 运营日期 like '%'and 运营时间 like '%'" Then

        Call QingKong

        MsgBox "请选择查询条件"

        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

    ckTime.Value = 0

    ckDate.Value = 0

End Sub

(4)车辆事故列表

车辆事故列表窗口用于添加,修改,删除车辆事故信息。车辆事故列表只能添加本单位的车辆,异动车辆是 不能添加到列表中,利用了Text1控件的LostFocus事脚,在车辆异动表中通过SQL语句查询Text2控件中车牌号码是否异动车辆.

1 窗口界面设计

   

           车辆事故列表窗口设计图

2 程序代码设计

●设计一个过程Lockctl,用来设置控件不可用,其代码为:

Private Sub Lockctl()

   Text1.Enabled = False: Text2.Enabled = False

   Text3.Enabled = False: Text5.Enabled = False

   Text6.Enabled = False: Text7.Enabled = False

   Text8.Enabled = False: Text9.Enabled = False

   Text10.Enabled = False: Text11.Enabled = False

   Text12.Enabled = False: Text13.Enabled = False

   Text14.Enabled = False: DTPicker1.Enabled = False: TextDTP.Enabled = False

End Sub

●设计一个过程Unlockctl,用来设置控件可用,其代码为:

Private Sub Unlockctl()

   Text1.Enabled = True: Text2.Enabled = True

   Text3.Enabled = True: Text5.Enabled = True

   Text6.Enabled = True: Text7.Enabled = True

   Text8.Enabled = True: Text9.Enabled = True

   Text10.Enabled = True: Text11.Enabled = True

   Text12.Enabled = True: Text13.Enabled = True

   Text14.Enabled = True: DTPicker1.Enabled = True: TextDTP.Enabled = True

End Sub

●在代码窗口中定义数值型变量,作为保存或修改操作的开关变量。

Dim  As Integer

●在窗口Load事件下添加如下代码:

Private Sub Form_Load()

  frmcarSGlr.Width = 10350: frmcarSGlr.Height = 3435

  Adodc2.RecordSource = "select * from 车辆类型表"

  Adodc2.Refresh

For i = 0 To Adodc2.Recordset.RecordCount - 1

      Text.AddItem Adodc2.Recordset.Fields(0).Value

     Adodc2.Recordset.MoveNext

Next

Combo1.Text = Adodc1.Recordset.Fields(2)

End Sub

●在“添加”按钮的Click事件下添加如下代码:

  Private Sub cmdAdd_Click()

 Unlockctl

    Text1 = "": Text2 = "": Text3 = "": Text5 = ""

    Text6 = "": Text7 = "": Text8 = "": Text9 = ""

    Text10 = "": Text11 = "": Text12 = "": Text13 = ""

    Text14 = "": Text3 = "": Text1.SetFocus

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdUpdate.Enabled = False: cmdDelete.Enabled = False

    DTPicker1.Visible = True

    TextDTP.Visible = False: Adodc1.Enabled = False

    i = 1

End Sub

●在Text控件的LostFocus事件下添加如下代码:

   Private Sub Text2_LostFocus()

  If Text2.Text = "" Then Exit Sub

  Dim rss As New ADODB.Recordset

  Set rss = adoCon.Execute("select * from 车辆档案 where 车牌号码='" & Text2.Text & "'")

  If rss.EOF Then

     MsgBox "这辆车不属于本公司的!", , "系统提示"

     Text2.Text = ""

     Text2.SetFocus

     Exit Sub

  Else

     Text3.Text = rss.Fields(1).Value

  End If

  rss.Close

  Dim rss1 As New ADODB.Recordset

  Set rss1 = adoCon.Execute("select * from 车辆异动表 where 车牌号码='" & Text2.Text & "'")

  If rss1.EOF = False Then

     MsgBox "这辆车为异动车辆!", , "系统提示"

     Text2.Text = ""

     Text2.SetFocus

     Exit Sub

   End If

   rss1.Close

End Sub

●在“修改” 按钮的Click事件下添加如下代码:

  Private Sub cmdUpdate_Click()

    Unlockctl

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    DTPicker1.Visible = True: TextDTP.Visible = False

    Adodc1.Enabled = False: Text1.Enabled = False

    i = 2

End Sub

●在“删除” 按钮的Click事件下添加如下代码:

   Private Sub cmdDelete_Click()

    If MsgBox("您确实要删除记录吗?", vbOKCancel, "系统提示") = vbOK Then

        adoCon.Execute ("delete from 车辆事故表 where 事故编号='" & Text1 & "'")

        MsgBox " 记录已删除!", , "系统提示"

        Adodc1.Refresh

    End If

End Sub

●在“确定” 按钮的Click事件下添加如下代码:

   

Private Sub cmdOk_Click()

   Select Case i

         Case 1:

                If Text1.Text = "" Then

                   MsgBox "事故编号不能为空!", , "系统提示"

                   Exit Sub

                End If

                If Text2.Text = "" Then

                   MsgBox "车牌号码不能为空!", , "系统提示"

                   Text2.SetFocus: Exit Sub

                 End If

                If Text5.Text = "" Then

                   MsgBox "事故概要不能为空!", , "系统提示"

                   Text5.SetFocus: Exit Sub

                End If

                If Text6.Text = "" Then

                    MsgBox "事故确认者不能为空!!", , "系统提示"

                    Text6.SetFocus: Exit Sub

                 End If

                If Text10 = "" Then

                   MsgBox "对方姓名不能为空!!", , "系统提示"

                   Text10.SetFocus: Exit Sub

                End If

                adoCon.Execute ("insert into 车辆事故表 values ('" & Text1 & "','" & Text2 & "','" & Text3.Text & "','" & DTPicker1.Value & "','" & Text5 & "','" & Text6 & "','" & Text7 & "','" & Text8 & "','" & Text9 & "','" & Text10 & "','" & Text11 & "','" & Text12 & "','" & Text13 & "','" & Text14 & "')")

                MsgBox "记录添加成功!", , "系统提示"

                Adodc1.Refresh

          Case 2

                 adoCon.Execute ("update 车辆事故表 set 车牌号码='" & Text2.Text & "',车辆类型='" & Text3.Text & "',事故时间='" & DTPicker1.Value & "',事故概要='" & Text5.Text & "',事故确认者='" & Text6.Text & "',公司负担金='" & Text7.Text & "',保险理赔金='" & Text8.Text & "',对方赔偿金='" & Text9.Text & "',对方姓名='" & Text10.Text & "',对方住址='" & Text11.Text & "',对方所在单位='" & Text12.Text & "',对方损坏程度='" & Text13.Text & "',和解内容='" & Text14.Text & "' where 事故编号='" & Text1.Text & "'")

                 MsgBox "记录修改成功!", , "系统提示"

                 Adodc1.Refresh

  End Select

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: DTPicker1.Visible = False

    TextDTP.Visible = True: Adodc1.Enabled = True

End Sub

●在“取消” 按钮的Click事件下添加如下代码:

Private Sub cmdUpdate_Click()

    Unlockctl

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    DTPicker1.Visible = True: TextDTP.Visible = False

    Adodc1.Enabled = False: Text1.Enabled = False

    i = 2

End Sub

(5)车辆违章列表

车辆违章列表记录操作窗口用于添加,修改,删除车辆违章信息.报废车辆和异动车辆不允许记录在车辆违章列表中。

1 窗口界面设计

  

                 车辆违章记录窗口设计图

     2 程序代码设计

●设计一个过程Lockctl,用来设置控件不可用,其代码为:

   Private Sub Lockctl()

   Text1.Enabled = False: Text2.Enabled = False

   Text3.Enabled = False: Text4.Enabled = False

   DTPicker1.Enabled = False

End Sub

●设计一个过程Lockctl,用来设置控件可用,其代码为

  Private Sub Unlockctl()

   Text1.Enabled = True: Text2.Enabled = True

   Text3.Enabled = True: Text4.Enabled = True

   DTPicker1.Enabled = True

End Sub

●在代码窗口中定义数值型变量,作为保存或修改操作的开关变量:

 Dim i As Integer

●在窗口Load事件下添加如下代码:

  Private Sub Form_Load()

    frmcarWZlr.Width = 6720: frmcarWZlr.Height = 2730

    Adodc1.RecordSource = "select * from 车辆违章表"

    Adodc1.Refresh

    If Adodc1.Recordset.RecordCount > 0 Then DTPicker1.Value = Adodc1.Recordset.Fields("违章时间").Value

End Sub

●判断报废车辆和异动车辆不可以添加到违章列表中,在Text1和LostFocus事件下添加如下代码: 

 Private Sub Text1_LostFocus()

    If Text1.Text = "" Then Exit Sub

    Dim rss As New ADODB.Recordset

    Set rss = adoCon.Execute("select * from 车辆档案 where 车牌号码='" & Text1.Text & "'")

    If rss.EOF Then

       MsgBox "这辆车不属于本公司的!", , "系统提示"

       Text1.Text = ""

       Text1.SetFocus

       Exit Sub

    End If

    rss.Close

    Dim rss1 As New ADODB.Recordset

     Set rss1 = adoCon.Execute("select * from 车辆异动表 where 车牌号码='" & Text1.Text & "'")

     If rss1.EOF Then

     Else

        MsgBox "该车为异动车辆!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss1.Close

    Dim rss2 As New ADODB.Recordset

     Set rss2 = adoCon.Execute("select * from 车辆报废表 where 车牌号码='" & Text1.Text & "'")

     If rss2.EOF Then

     Else

        MsgBox "该车已经报废!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss2.Close

End Sub

●在“添加”按钮的Click事件下添加如下代码:

 

Private Sub cmdAdd_Click()

    Adodc1.Recordset.AddNew

    Unlockctl

    Text1 = "": Text2 = ""

    Text3 = "": Text4 = ""

    DTPicker1.Value = Format(Now, "yyyy-mm-dd")

    Text1.SetFocus

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdUpdate.Enabled = False: cmdDelete.Enabled = False

    i = 1

    Adodc1.Enabled = False

 End Sub

●在“修改” 按钮的Click事件下添加如下代码:

 Private Sub cmdUpdate_Click()

    Unlockctl

    Text1.Enabled = False: Adodc1.Enabled = False

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    i = 2

End Sub

●在“删除” 按钮的Click事件下添加如下代码:

    Private Sub cmdDelete_Click()

    If MsgBox("您确实要删除记录吗?", vbOKCancel, "系统提示") = vbOK Then

        Adodc1.Recordset.Delete

        MsgBox " 记录已删除!", , "系统提示"

        Adodc1.Refresh

        Text1.Text = ""

        Text2.Text = ""

        Text3.Text = ""

        Text4.Text = ""

      End If

End Sub

●在“确定” 按钮的Click事件下添加如下代码:

    

Private Sub cmdOk_Click()

    Select Case i

        Case 1

            If Text1 = "" Then

                MsgBox "车牌号码不能为空", , "系统提示"

                Text1.SetFocus: Exit Sub

            End If

            If Text2 = "" Then

                MsgBox "违章原因不能为空", , "系统提示"

                Text2.SetFocus: Exit Sub

            End If

            If DTPicker1.Value = "" Then

                MsgBox "违章时间不能为空", , "系统提示"

                DTPicker1.SetFocus: Exit Sub

            End If

            Adodc1.Recordset.Fields(0) = Text1.Text

            Adodc1.Recordset.Fields(1) = Text2.Text

            Adodc1.Recordset.Fields(2) = Text3.Text

            Adodc1.Recordset.Fields(3) = DTPicker1.Value

            Adodc1.Recordset.Fields(4) = Text4.Text

            Adodc1.Recordset.Update

            MsgBox "记录添加成功!", , "系统提示"

        Case 2

            On Error Resume Next

            Adodc1.Recordset.Fields(0) = Text1.Text

            Adodc1.Recordset.Fields(1) = Text2.Text

            Adodc1.Recordset.Fields(2) = Text3.Text

            Adodc1.Recordset.Fields(3) = DTPicker1.Value

            Adodc1.Recordset.Fields(4) = Text4.Text

            Adodc1.Recordset.Update

            MsgBox "记录修改成功!", , "系统提示"

    End Select

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

    Command1(0).Enabled = False: Command1(1).Enabled = False

    Command1(2).Enabled = False: Command1(3).Enabled = False

End Sub

●在“取消” 按钮的Click事件下添加如下代码

  Private Sub cmdCancel_Click()

    On Error Resume Next     '当没有添加数据的时候 处理异常

    Adodc1.Recordset.CancelUpdate

    Adodc1.Refresh

    Lockctl

    cmdCancel.Enabled = False: cmdok.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

End Sub

(6) 车辆维修列表

  车辆维修列表主要是用来管理车辆维修的基本信息,计算车辆维修使用零件的费用。车辆维修的算法是:零件数量*零件价格.

1窗口界面设计

 

                         车辆维修窗口设计图

2程序代码设计

●设计一个过程Lockctl,用来锁定控件,其代码为;

  Private Sub Lockctl()

   Text1.Enabled = False: Combo1.Enabled = False

   Combo2.Enabled = False: Combo3.Enabled = False

   Tc1.Enabled = False: Tc2.Enabled = False

   Text5.Enabled = False: Text6.Enabled = False

   DTPicker1.Enabled = False: Tc3.Enabled = False

End Sub

●设计一个过程Unlockctl,用来解除锁定控件,其代码为:

       Private Sub Unlockctl()

         Text1.Enabled = True: Combo1.Enabled = True

         Combo2.Enabled = True: Combo3.Enabled = True

         Tc1.Enabled = True: Tc2.Enabled = True

         Tc3.Enabled = True: Text6.Enabled = True

          DTPicker1.Enabled = True

End Sub

●在代码窗口中定义数值型变量,控制保存数据或修改数据的一个开关变量:

         Dim  As Integer

●在该窗口Load事件下添加如下代码为:

    Private Sub Form_Load()

  frmcarWXlr.Width = 8490

  frmcarWXlr.Height = 3150

  Adodc1.RecordSource = "select * from 车辆维修表"

  Adodc1.Refresh

  If Adodc1.Recordset.RecordCount > 0 Then DTPicker1.Value = Adodc1.Recordset.Fields("维修日期").Value

  Adodc2.RecordSource = "select * from 零件表"

  Adodc2.Refresh

  For i = 0 To Adodc2.Recordset.RecordCount - 1

      Combo1.AddItem Adodc2.Recordset.Fields(0).Value

      Combo2.AddItem Adodc2.Recordset.Fields(0).Value

      Combo3.AddItem Adodc2.Recordset.Fields(0).Value

      Adodc2.Recordset.MoveNext

   Next

  If Adodc1.Recordset.RecordCount = 0 Then Exit Sub

     Combo1.Text = Adodc1.Recordset.Fields(2)

     Combo2.Text = Adodc1.Recordset.Fields(4)

     Combo3.Text = Adodc1.Recordset.Fields(6)

    cmdT.Enabled = False

End Sub

●报废车辆和违章车辆不能进行维修,在Text1和LostFocus事件下添加代码为:

  Private Sub Text1_LostFocus()

  If Text1.Text = "" Then Exit Sub

     Dim rss As New ADODB.Recordset

     Set rss = adoCon.Execute("select * from 车辆档案 where 车牌号码='" & Text1.Text & "'")

     If rss.EOF Then

        MsgBox "这辆车不属于本公司的!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss.Close

     Dim rss1 As New ADODB.Recordset

     Set rss1 = adoCon.Execute("select * from 车辆异动表 where 车牌号码='" & Text1.Text & "'")

     If rss1.EOF Then

     Else

        MsgBox "该车为异动车辆!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss1.Close

    Dim rss2 As New ADODB.Recordset

     Set rss2 = adoCon.Execute("select * from 车辆报废表 where 车牌号码='" & Text1.Text & "'")

     If rss2.EOF Then

     Else

        MsgBox "该车已经报废,不能维修!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss2.Close

End Sub

●在“统计“按钮的Click事件下添加如下代码:

        Private Sub cmdT_Click()

  Dim c1, c2, c3 As Integer

  On Error Resume Next

  Adodc2.RecordSource = "select 单价 from 零件表 where 零件名='" & Combo1.Text & "'"

  Adodc2.Refresh

  c1 = Val(Adodc2.Recordset.Fields(0)) * Val(Tc1.Text)

  Adodc2.RecordSource = "select 单价 from 零件表 where 零件名='" & Combo2.Text & "'"

  Adodc2.Refresh

  c2 = Val(Adodc2.Recordset.Fields(0)) * Val(Tc2.Text)

  Adodc2.RecordSource = "select 单价 from 零件表 where 零件名='" & Combo3.Text & "'"

  Adodc2.Refresh

   c3 = Val(Adodc2.Recordset.Fields(0)) * Val(Tc3.Text)

   Text5.Text = c1 + c2 + c3

   cmdok.Enabled = True

End Sub

●在“添加” 按钮的Click事件下添加如下代码:

  Private Sub cmdAdd_Click()

    Unlockctl

    DTPicker1.Value = Format(Now, "yyyy-mm-dd")

    Text1 = "": Tc1 = ""

    Tc2 = "": Tc3 = ""

    Text5 = "": Text6 = ""

    TextDTP = "": Combo1.Text = ""

    Combo2.Text = "": Combo3.Text = ""

    Text1.SetFocus

    cmdok.Enabled = False: cmdCancel.Enabled = True

    cmdUpdate.Enabled = False: cmdDelete.Enabled = False

    Combo1.Visible = True: Adodc1.Enabled = False

    cmdT.Enabled = True

    i = 1

End Sub

●在“修改” 按钮的Click事件下添加如下代码:

  Private Sub cmdUpdate_Click()

    Unlockctl

    i = 2

    cmdok.Enabled = True: cmdCancel.Enabled = True

    cmdAdd.Enabled = False: cmdDelete.Enabled = False

    Adodc1.Enabled = False: Text1.Enabled = False

    cmdT.Enabled = True

End Sub

●在“删除” 按钮的Click事件下添加如下代码:

 Private Sub cmdDelete_Click()

    If MsgBox("您确实要删除记录吗?", vbOKCancel, "系统提示") = vbOK Then

        'adoCon.Execute ("delete from 车辆维修表 where 车牌号码='" & Text1 & "'")

        On Error Resume Next

        Adodc1.Recordset.Delete

        MsgBox " 记录已删除!", , "系统提示"

        Adodc1.Refresh

    End If

End Sub

●在“确定” 按钮的Click事件下添加如下代码:

    Private Sub cmdOk_Click()

   Select Case i

        Case 1

            If Text1 = "" Then

                MsgBox "车牌号码不能为空", , "系统提示"

                Text1.SetFocus

                Exit Sub

            End If

          adoCon.Execute ("insert into 车辆维修表 values ('" & Text1 & "','" & Combo1.Text & "','" & Tc1.Text & "','" & Combo2.Text & "','" & Tc2.Text & "','" & Combo3.Text & "','" & Tc3.Text & "','" & DTPicker1.Value & "','" & Text5.Text & "','" & Text6.Text & "')")

          MsgBox "记录添加成功!", , "系统提示"

          Adodc1.Refresh

        Case 2

'          adoCon.Execute ("update 车辆维修表 set 更换零件1='" & Combo1 & "',零件1数量='" & Tc1.Text & "',更换零件2='" & Combo2 & "',零件2数量='" & Tc2.Text & "',更换零件3='" & Combo3.Text & "', 零件3数量='" & Tc3.Text & "',维修日期='" & DTPicker1.Value & "',共计费用='" & Text5.Text & "',备注='" & Text6.Text & "' where 车牌号码='" & Text1 & "'")

          On Error Resume Next

          Adodc1.Recordset.Update

          MsgBox "记录修改成功!", , "系统提示"

          Adodc1.Refresh

  End Select

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

    cmdT.Enabled = False

End Sub

●在“取消” 按钮的Click事件下添加如下代码:

    Private Sub cmdCancel_Click()

    On Error Resume Next     '当没有添加数据的时候 处理异常

    Adodc1.Recordset.CancelUpdate

    Adodc1.Refresh

    Lockctl

    cmdok.Enabled = False: cmdCancel.Enabled = False

    cmdAdd.Enabled = True: cmdUpdate.Enabled = True

    cmdDelete.Enabled = True: Adodc1.Enabled = True

    cmdT.Enabled = False

End Sub

(7) 驾驶员奖罚

驾驶员奖罚主要是通过运营收入,运营次数,事故次数,违章次数,以及维修费用来综合评定的。统计运营,事故以及违章次数和运营收入,使用SQL中Count函数和SUM函数求出相关的次数和运营的总收入.

1 窗口界面设计

                      驾驶员奖罚窗口设计图

2程序代码设计

●在该窗口的Load事件下添加如下代码为:

   Private Sub Form_Load()

  frmDrJC.Width = 7875: frmDrJC.Height = 4080

  Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""

  Text5.Text = "": Text6.Text = "": Text7.Text = "": Text8.Text = ""

  TName.Text = "": Text9.Text = ""

End Sub

●使用Count函数和SUM函数求出相关的次数和运营的总收入,在Text1控件的LostFocus事件下添加如下代码为:

   Private Sub Text1_LostFocus()

   Dim rss1 As New ADODB.Recordset

     Set rss1 = adoCon.Execute("select * from 车辆异动表 where 车牌号码='" & Text1.Text & "'")

     If rss1.EOF Then

     Else

        MsgBox "该车为异动车辆!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss1.Close

    Dim rss2 As New ADODB.Recordset

     Set rss2 = adoCon.Execute("select * from 车辆报废表 where 车牌号码='" & Text1.Text & "'")

     If rss2.EOF Then

     Else

        MsgBox "该车已经报废!", , "系统提示"

        Text1.Text = ""

        Text1.SetFocus

        Exit Sub

     End If

    rss2.Close

       

  If Text1.Text = "" Then Exit Sub

  Text8.Text = Date

  On Error Resume Next

  AdoYY.RecordSource = "select * from 车辆运营表 where 车牌号码='" & Text1.Text & "'"

  AdoYY.Refresh

    

If AdoYY.Recordset.RecordCount > 0 Then

    Else

     MsgBox "此车没有参加运营!", , "系统提示"

     Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""

     Text5.Text = "": Text6.Text = "": Text7.Text = "": Text8.Text = ""

     TName.Text = "": Text9.Text = ""

     Exit Sub

     AdoYY.Recordset.Close

  End If

  AdoYY.RecordSource = "select sum(运营收入) as 收入,count(运营收入) as 次数 from 车辆运营表 where 车牌号码='" & Text1.Text & "'"

  AdoYY.Refresh

  Text2.Text = AdoYY.Recordset.Fields(0).Value

  Text4.Text = AdoYY.Recordset.Fields(1).Value

  AdoWX.RecordSource = "select sum(共计费用) as 费用 from 车辆维修表 where 车牌号码='" & Text1.Text & "'"

  AdoWX.Refresh

  Text3.Text = AdoWX.Recordset.Fields(0)

  AdoSG.RecordSource = "select count(车牌号码) as 事故次数 from 车辆事故表 where 车牌号码='" & Text1.Text & "'"

  AdoSG.Refresh

  Text5.Text = AdoSG.Recordset.Fields(0)

  AdoWZ.RecordSource = "select count(车牌号码) as 违章次数 from 车辆违章表 where 车牌号码='" & Text1.Text & "'"

  AdoWZ.Refresh

  Text6.Text = AdoWZ.Recordset.Fields(0)

If Val(tex4.Text) > 30 Then

     Text7.Text = 10 - (Text5.Text * 10 + Text6.Text * 2 + (30 - Text4.Text) * 0.3)

  Else  '>=30次

     Text7.Text = 10 - (Text5.Text * 10 + Text6.Text * 2)

  End If

If Val(Text7.Text) > 0 Then

      Text9.Text = ((Val(Text2.Text) * 0.2 - Val(Text3.Text) * 0.4) * Val(Text7.Text) * 0.1)

  Else

     Text9.Text = 0

  End If

End Sub

●在”保存” 按钮的Click事件下添加如下代码:

 Private Sub cmdSave_Click()

  On Error Resume Next

  AdoJF.Recordset.AddNew

  AdoJF.Recordset.Fields("车牌号码") = Text1.Text

  AdoJF.Recordset.Fields("姓名") = TName.Text

  AdoJF.Recordset.Fields("运营收入") = Text2.Text

  AdoJF.Recordset.Fields("运营次数") = Text4.Text

  AdoJF.Recordset.Fields("维修费用") = Text3.Text

  AdoJF.Recordset.Fields("违章次数") = Text6.Text

  AdoJF.Recordset.Fields("事故次数") = Text5.Text

  AdoJF.Recordset.Fields("日期") = Text8.Text

  AdoJF.Recordset.Fields("每月得分") = Text7.Text

  AdoJF.Recordset.Fields("每月奖金") = Text9.Text

  AdoJF.Recordset.Update

  Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""

  Text5.Text = "": Text6.Text = "": Text7.Text = "": Text8.Text = ""

  TName.Text = "": Text9.Text = ""

End Sub

●在”打印” 按钮的Click事件下添加如下代码:

  Private Sub Cmdprint_Click()

  DataReport1.Show

End Sub

第八章  数据库备份和恢复

     在操作过程中,可能会因为操纵或者感染病毒而造成数据丢失,所以数据库备份是系统不可缺少的一个部分.系统中的数据备份使用了FileCopy语句:

     FileCopy source, destination

参数说明:

      Source:必要参数.字符串表达式,用来表示要复制的文件.

       Destination: 必要参数. 字符串表达式, 用来指定要复制的目的文件名.

       (1) 数据库备份设计

        

                       数据库备份设计图

●相关代码为:

(1)  Private Sub cmdCopy_Click()

  On Error Resume Next

  FileCopy App.Path & "\\clgl.mdb", App.Path & "\数据库备份\clgl.mdb"

  MsgBox "备份成功!", , "系统提示"

End Sub

      (2)装载关闭:

    Private Sub Form_Load()

  frmDataCopy.Width = 50

  frmDataCopy.Height = 2190

  adoCon.Close

End Sub

        (3)卸载打开:

Private Sub Form_Unload(Cancel As Integer)

  Set adoCon = New ADODB.Connection

  adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\clgl.mdb" & ";Persist Security Info=False"

End Sub

(2) 数据库恢复设计

             数据库恢复设计图

●相关代码为:

Private Sub cmdHF_Click()

  On Error Resume Next

  FileCopy App.Path & "\数据库备份\clgl.mdb", App.Path & "\\clgl.mdb"

  MsgBox "恢复成功!", , "系统提示"

End Sub

   (2)装载关闭

Private Sub Form_Load()

    frmDataHF.Width = 5040

    frmDataHF.Height = 2235

    adoCon.Close

End Sub

(3)卸载打开:

Private Sub cmdExit_Click()

  MDIForm1.StatusBar1.Panels(1).Text = ""

  Set adoCon = New ADODB.Connection

  adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\clgl.mdb" & ";Persist Security Info=False"

  Unload Me

End Sub

                        第九章  结束语

 

参考文献 

(1)刘世峰  <<数据库基础与应用>>广播电视大学出版社

(2)刘世峰 《Visual Basic 程序设计》广播电视大学出版社

    (3) 赛奎春 《Visual Basic 信息系统开发实例精选》机械工业出版社

文档

车辆管理调度系统论文

车辆管理系统目录摘要…………………………………………………………………………….2关键词……………………………………………………………………………2第一章概述…………………………………………………………………….2第二章系统分析………………………………………………………………22.1系统目标……………………………………………………………………32.2功能分析……………………………………………………………………32.3系统流程………………………………………………………………………3第三章系统设计
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top