网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

VF车辆管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
VF车辆管理系统
摘要
【摘要】
随着社会经济的发展,使用车辆的人越来越多,对于拥有各种类型车辆的机关企事业单位,车辆的管理成为日常事务中的一项重要工作。车辆管理部门如何进行有效管理,及时了解每一辆车的情况,提高车辆的使用效率,就成为各单位急需解决的一个问题。
针对这种状况,我们开发出一套专门进行车辆管理的软件,这套软件可以为您提供车辆管理、跟踪等方面的资料。它不仅能够掌握车辆的运营、异动、维修和报废等状况,而且还可以对车辆的违章和事故进行系统管理。所以本系统是协助各单位合理和优化管理车辆的最佳选择。
【关键词】车辆管理系统目录摘要 2目录 30  引言 11  系统需求分析 11.1  系统需求分析 12  总体设计 12.1  项目规划 12.2  系统功能结构 12.3  设计目标 23  主要功能模块设计 23.2  程序主界面的设计 23.3  系统登录界面设计 33.4  车辆档案录入设计 53.5  车辆档案查询设计 103.6  车辆报废设计 123.7  车辆维修查询设计 15附录A  参考文献 19附录B  数据表 20附录C  文件架构 68
 
VF车辆管理系统
0  引言
车辆的管理在各机关、企事业单位一直是一个难题,一方面使用成本居高不下,另一方面各部门却经常抱怨不能有效地使用车辆,车辆驾驶员更多的将车辆当作私家车在使用,对车辆的使用成本不加以控制,管理部门没有有效的手段对车辆的使用、费用进行控制,也无法对车辆的使用、费用情况进行统计、分析,制定合理的使用计划,大大降低了车辆的使用效率。
本系统是一个协助各单位进行全面车辆管理的系统,包括了车辆档案管理;驾驶员档案管理;车辆管理(维修管理、违章管理、事故管理);车辆运营管理等。是一套真正适合企事业单位的管理系统。
1  系统需求分析
1.1  系统需求分析
根据赛达车有限公司的具体情况,系统主要功能包括:
q         档案管理:“车辆档案录入”、“车辆档案查询”、“车辆异动”、“车辆异动查询”、“车辆报废”、“车辆报废查询”。
q         运营管理:“车辆运营管理”、“车辆运营查询”、“清空运营表”。
q         车辆管理:“车辆维修管理”、“车辆维修查询”、“添加零件”、“车辆违章管理”、“车辆违章查询”、“车辆事故管理”、“车辆事故查询”。
q         驾驶员管理:“驾驶员档案”、“驾驶员档案查询”、“驾驶员奖罚”。
q         系统维护:“系统初始化”、“管理员设置”、“数据备份”、“数据恢复”。
2  总体设计
2.1  项目规划
本系统是一个协助各单位进行全面车辆管理的系统,系统由档案管理、运营管理、车辆管理、驾驶员管理、系统维护和帮助6个模块组成。本系统是协助各单位合理和优化管理车辆的最佳选择。规划系统功能模块如下:
q         档案管理
档案管理:车辆档案录入、车辆档案查询、车辆异动、车辆异动查询、车辆报废、车辆报废查询。
q         运营管理
运营管理:车辆运营管理、车辆运营查询、清空运营表。
q         车辆管理
车辆管理:维修管理、违章管理、事故管理。
q         驾驶员管理
驾驶员管理:驾驶员管理、驾驶员奖惩。
q         系统维护
系统维护:系统初始化、管理员设置、数据备份、数据恢复、退出。
q         帮助
帮助:帮助和关于。
2.2  系统功能结构
本系统共分5大部分,23个完整的功能模块。系统结构图如图1所示.
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图1  车辆管理系统结构图
 
2.3  设计目标
本系统是根据中小企业的实际需求而开发的,完全能够实现企业对客户的自动化管理,通过本系统可以达到以下目标:
q         系统运行稳定,安全可靠。
q         界面美观、友好。
q         信息查询灵活、方便、快捷、准确,数据存储安全可靠。
q         采用多种方式查询数据。
q         操作员可以随时修改自己的口令。
q         数据保密性强,为每个用户设置相应的权限级别。
3  主要功能模块设计
3.1  程序主界面的设计
程序启动后,在系统登录界面验证操作员密码后,将进入程序主界面。通过程序主界面将会执行相应的权限操作,并且还可以通过主界面的菜单,来调用相应程序,再进行相应操作。主程序界面运行结果如图2所示。
 
VF车辆管理系统
图2主程序界面
1.表单设计
(1)创建一个项目,名称为车辆管理系统,在该项目中添加一个表单,名称为Frmblack。
(2)在表单中添加Toolbar控件、Statusbar控件、Imagelist控件和Timer控件。
(3)重要控件属性如表1所示。
表1                        主程序界面重要控件属性列表





控件名

属性




Toolbar

Style

1-Transparent


Timer

Interval

1000
2.代码设计
在表单的 Init 事件中添加以下代码:
do  menu\mnuhand.mpr with this,.t.     &&调用系统菜单
this.toolbar.imagelist=this.imagelist
=this.toolbar.buttons.add(,'clda','',,1)
=this.toolbar.buttons.add(,'glyda','',,2)
=this.toolbar.buttons.add(,'yygl','',,3)
=this.toolbar.buttons.add(,'bar1','',3,1)
=this.toolbar.buttons.add(,'wxgl','',,4)
=this.toolbar.buttons.add(,'wzgl','',,5)
=this.toolbar.buttons.add(,'sggl','',,6)
=this.toolbar.buttons.add(,'bar2','',3,1)
=this.toolbar.buttons.add(,'cx','',5,7)
=this.toolbar.buttons.add(,'bar3','',3,1)
=this.toolbar.buttons.add(,'bz','',,8)
this.toolbar.buttons(1).tooltiptext="车辆档案"
this.toolbar.buttons(2).tooltiptext="驾驶员档案"
this.toolbar.buttons(3).tooltiptext="运营管理"
this.toolbar.buttons(5).tooltiptext="维修管理"
this.toolbar.buttons(6).tooltiptext="违章管理"
this.toolbar.buttons(7).tooltiptext="事故档案"
this.toolbar.buttons(9).tooltiptext="查询"
this.toolbar.buttons(11).tooltiptext="帮助"
    在Toolbar 控件的ButtonClick 事件中添加以下代码:
do case
        case button.index=1
                do form form\frm车辆档案
        case button.index=2
                do form form\frm驾驶员档案
        case button.index=3
                do form form\frm车辆运营
        case button.index=5
                do form form\frm车辆维修
        case button.index=6
                do form form\frm车辆违章
           case button.index=7
                do form form\frm车辆事故管理
        case button.index=9
                do menu\leftmnu.mpr
        case button.index=11
                do form form\frm帮助
endcase
在时间控件的Timer 事件中添加以下代码用于在状态栏中实现显示系统时间。
thisform.statusbar.panels(1).text=alltrim(str(year(date())))+"年"+alltrim(str(;
month(date())))+"月"+alltrim(str(day(date())))+"日"+space(110)+alltrim(time())
3.2  系统登录界面设计
用户在进入系统前,必须通过系统登录进入主程序界面,通过系统登录界面主要实现确认用户的身份及使用权限、并且判断是否支持鼠标和键盘操作。系统登录表单运行结果如图3所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图3  “用户登录”表单运行结果
1.表单设计
(1)添加一个表单,名称为Frmlogin。
(2)在表单中添加Label控件、Text控件、Command控件、Imagelist控件和Container控件。
(3)重要控件属性如表2所示。
表2                     “用户登录”表单重要控件属性列表





控件名

属性




Form1

AotoCenter
BorderStyle
ShowWindow

.t.
0-无边框
2.作为顶层表单


Text1

PassWordChar

 
2.代码设计
在表单的Unload 事件中添加以下代码:
 
VF车辆管理系统
use     &&关闭数据表
thisform.release     &&释放表单
定义全局变量cn,用于记录用户输入密码的次数。
在表单的Load 事件中添加以下代码:
public cn     &&定义全局变量
cn=0
在系统登录时,判断“管理员”表中是否有记录,如果没有,则以系统管理员的身份直接进入,并弹出系统对话框。在表单的Init 事件中添加以下代码:
use database\管理员表
if eof()=.t. and bof()=.t.
        close all
        thisform.visible=.f.      &&隐藏表单
        do form form\frm管理员档案      &&调入表单
        messagebox("亲爱的朋友:"+chr(10)+chr(13)+chr(10)+"欢迎使用明日车辆管理系统!";
+chr(10)+chr(13)+"这是您第一次登录系统!请首先添加一管理员!"+chr(10)+chr(13);
+chr(10)+ "    具体操作请查阅[帮助]----初次登录!",0,"初次登录")
else
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

                &&向ListItems集合中添加一个列表项。
                thisform.container3.listview.listitems.add(,,管理员表.管理员姓名,管理员表.管理员头像)
                skip     &&记录指针向下移动一条记录
        enddo
endif
use
单击“登录”按钮,首先判断用户名是否正确,然后根据用户名判断密码是否正确,如果正确,根据该操作员的权限级别赋于用户相应的使用权限;如果不正确,弹出系统警告对话框。在“登录”按钮的Click 事件中添加以下代码:
use DataBase\管理员表      &&打开数据表
cname=alltrim(thisform.container3.label2.caption)      &&获得输入信息
ppassword=alltrim(thisform.Container3.text1.value)      &&获得输入信息
set order to 管理员姓名      &&指定控制索引文件
seek cname     &&快速查询
set exact on     &&设置字符精确比较
if alltrim(管理员表.管理员姓名)!=cname     &&判断输入的操作员姓名是否存在于表中
   cn=cn+1
   cMessagetitle='系统登录'
   cMessagetext='管理员表错误,请重新输入!'
   nDialogtype=32
   nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)
       thisform.Container3.text1.enabled=.f.      &&设置控件无效
       thisform.Container3.listview.setfocus     &&Listview获得焦点
   if cn=3
      thisform.release     &&释放表单
   endif
else
if alltrim(管理员表.密码)!=ppassword    &&判断密码是否正确
   cn=cn+1
        cmessagetitle='系统登录'
        cmessagetext='密码错误,请重新输入!'
        ndialogtype=32
        nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)

              thisform.release
           endif
        else
        if 管理员表.管理员否=.t. then
                GLY=.t.
                else
                        GLY=.f.
                endif
                purview=0
                TC=.f.
                thisform.refresh
                thisform.release
        endif
endif
set exact off     &&设置字符非精确比较
在“退出”按钮的Click 事件中添加以下代码:
                thisform.release     && 释放表单
在ListView 控件的Click 事件中添加以下代码:
thisform.container3.label2.caption=thisform.container3.listview.selecteditem.text                       thisform.container3.text1.enabled=.t.
thisform.container3.text1.setfocus      &&Text1获得焦点
3.3  车辆档案录入设计
用户单击主菜单档案录入下的车辆档案录入子菜单,进入了车辆档案录入界面,通过车辆档案录入界面可以添加、修改、删除车辆档案信息,并且可以支持快速浏览车辆档案信息以及显示当前记录号,按Esc键退出该界面。车辆档案录入表单运行结果如图4所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4  “车辆档案管理”表单运行结果
1.表单设计
(1)新建一个表单,名称为Frm车辆档案。
(2)在表单中添加Label控件、Text控件、Combo控件、MonthView控件(Microsoft MonthView Control, version 6.0)、Check控件、Edit控件、Commandgroup控件、Command控件和Container控件。
(3)重要控件属性如表3所示。
表3                      “车辆档案管理”表单重要控件属性列表





控件名

属性




Text4

InPutMask

99-99-9999


Text3

RowSource
RowSourceType

驾驶员档案.姓名
6-字段
2.代码设计
在表单的 Resize 事件中添加以下代码:
store L to thisform.Container1.textcph.enabled,thisform.Container1.textlx.enabled,;
thisform.Container1.text3.enabled,thisform.Container1.text4.enabled,;
thisform.Container1.text5.enabled,thisform.Container1.text6.enabled,;
thisform.Container1.text7.enabled,thisform.Container1.text8.enabled,;
thisform.Container1.text9.enabled,thisform.Container1.text10.enabled,;
thisform.Container1.text11.enabled,thisform.container1.check1.enabled,;
thisform.container1.check2.enabled,thisform.container1.edit1.enabled    &&设置控件是否有效
在表单的 Init事件中添加以下代码:
sele 2
thisform.container1.text3.rowsource="驾驶员档案.姓名"
sele 3
thisform.container1.textlx.rowsource="车辆类型表.类型"
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

thisform.Container1.text3.value=alltrim(车辆档案.驾驶员)
thisform.Container1.text4.value=alltrim(dtoc(车辆档案.购置日期))
thisform.Container1.text5.value=alltrim(str(车辆档案.发动机号))
thisform.Container1.text6.value=alltrim(str(车辆档案.车架号))
thisform.Container1.text7.value=alltrim(车辆档案.厂牌型号)
thisform.Container1.text8.value=alltrim(str(车辆档案.载重))
thisform.Container1.text9.value=alltrim(str(车辆档案.坐位))
thisform.Container1.text10.value=alltrim(车辆档案.使用人或单位)
thisform.Container1.text11.value=alltrim(车辆档案.车辆所在单位)
if 车辆档案.年检审=.t.
        thisform.Container1.check1.value=1
else
        thisform.Container1.check1.value=0
endif
if 车辆档案.保险否=.t.
        thisform.Container1.check2.value=1
else
        thisform.Container1.check2.value=0
endif
thisform.Container1.edit1.value=alltrim(车辆档案.备注)
thisform.Container1.label16.caption= alltrim(str(recno()))
thisform.refresh
 
VF车辆管理系统
在表单的 Load 事件中添加以下代码:
sele 1
use database\车辆档案 exclusive
sele 2
use database\驾驶员档案
sele 3
use database\车辆类型表
public nof,l
store .f. to nof,l
set delete on
在表单的Unload 事件中添加以下代码:
close all
use database\车辆档案 exclusive   &&以独占方式打开数据表
set exact off
delete from车辆档案 where 车牌号码="NoNumber"
set exact on
close all
在“备注”编辑框的KeyPress 事件中添加以下代码:
if nkeycode=24
  thisform.commandgroup1.command5.setfocus      &&Command5获得焦点
endif
if nkeycode=5
  thisform.container1.text11.setfocus
endif
在“购置日期”文本框的KeyPress事件中添加以下代码:
IF NKEYCODE=18 or  NKEYCODE=3
        thisform.datalist.visible=.T.     &&显示Datalist控件
        thisform.datalist.setfocus
ENDIF
在“购置日期”文本框后面“6”按钮的Click 事件中添加以下代码:
thisform.datalist.visible=.t.
在“首记录”按钮的Click 事件中添加以下代码:
if bof()=.f.
   go top     &&记录指针移动到第一条记录
   thisform.commandgroup1.command3.enabled=.T.
   thisform.commandgroup1.command4.enabled=.T.
   thisform.Container1.label16.caption= alltrim(str(recno()))
   thisform.init     &&调用表单的Init事件  
endif
thisform.commandgroup1.command1.enabled=.f.
thisform.commandgroup1.command2.enabled=.f.
thisform.refresh
在“上一条”按钮的Click 事件中添加以下代码:
if bof()=.f.
        skip -1     &&记录指针向上移动一条记录
        thisform.commandgroup1.command3.enabled=.T.
        thisform.commandgroup1.command4.enabled=.T.
        thisform.Container1.label16.caption= alltrim(str(recno()))
        thisform.init     &&执行表单的Init事件
else
        thisform.commandgroup1.command1.enabled=.f.
        thisform.commandgroup1.command2.enabled=.f.
endif
thisform.refresh
在“下一条”按钮的Click 事件中添加以下代码:
skip 1                  &&记录本指针向下移动一条记录
if eof()=.f.
        thisform.commandgroup1.command1.enabled=.t.
        thisform.commandgroup1.command2.enabled=.t.
        thisform.Container1.label16.caption= alltrim(str(recno()))
        thisform.init           &&执行表单的Init事件
else
        skip -1
        thisform.commandgroup1.command3.enabled=.f.
        thisform.commandgroup1.command4.enabled=.f.
endif
thisform.refresh
       在“末记录”按钮的Click事件中添加以下代码:
if eof()=.f.
        go bottom     &&记录指针移动到最后一条记录
        thisform.commandgroup1.command1.enabled=.T.
        thisform.commandgroup1.command2.enabled=.T.
        thisform.Container1.label16.caption= alltrim(str(recno()))
        thisform.init     &&执行表单的Init事件
endif
thisform.commandgroup1.command3.enabled=.f.
thisform.commandgroup1.command4.enabled=.f.
thisform.refresh
单击“添加”按钮,如果按钮上的标题文本为“添加”,则在“车辆档案”表中追加一条新记录,并将 “NoNumber” 赋于 “车牌号码”字段用来避免出现两条空记录使索引字段出错。然后清空表单上所有相关控件的内容,做好接收用户输入信息的准备,并设置按钮的标题文本为“保存”;如果为“保存”,则将用户输入的信息保存到“车辆档案”表中,并设置按钮的标题文本为“添加”。具体代码如下:
在“添加”按钮的Click 事件中添加以下代码:
sele 1
if thisform.commandgroup1.command5.caption="添加"
        append blank     &&追加空记录
        repl 车辆档案.车牌号码 with  "NoNumber"+alltrim(str(reccount()))
        thisform.refresh     &&刷新表单
        thisform.Commandgroup1.command5.caption="保存"  &&赋值给Command5的标题文本
        thisform.Commandgroup1.command5.tooltiptext="保存记录"     &&显示工具提示文本
        l=.t.
    thisform.resize     &&执行表单的Resize事件
    thisform.container1.container2.command1.enabled=.t.
        store .f. to thisform.commandgroup1.command1.enabled,thisform.commandgroup1.;
command2.enabled,thisform.commandgroup1.command3.enabled,thisform.;
commandgroup1.command4.enabled,thisform.commandgroup1.command6.enabled,;
thisform.commandgroup1.command7.enabled      &&设置控件无效
        thisform.commandgroup1.command8.enabled=.T.
        store '' to thisform.Container1.textcph.value,thisform.Container1.textlx.value,;
          thisform.Container1.text3.value,thisform.Container1.text4.value,;
          thisform.Container1.text5.value,thisform.Container1.text6.value,;
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

else
          if empty(alltrim(thisform.container1.textcph.value)) or empty(alltrim(thisform.;
container1.text3.value)) or empty(alltrim(thisform.container1.text10.value))
       a=messagebox ("车牌号、驾驶员、使用单位或个人 不允许为空!" ,16,"错误")
       else
                nof=.f.
         thisform.Commandgroup1.command5.caption="添加" &&赋值给Command5的标题文本
                thisform.Commandgroup1.command5.tooltiptext="添加记录"
                l=.f.
            thisform.resize    &&执行表单的Resize事件
                thisform.container1.container2.command1.enabled=.f.
                store .t. to thisform.commandgroup1.command1.enabled,thisform.commandgroup1.;
command2.enabled,thisform.commandgroup1.command3.enabled,thisform.;
commandgroup1.command4.enabled,thisform.commandgroup1.command7.enabled  
                   store .f. to thisform.commandgroup1.command6.enabled,;
thisform.commandgroup1.command8.enabled
        repl 车辆档案.车牌号码 with  alltrim(thisform.Container1.textcph.value),车辆类型with ;
          alltrim(thisform.Container1.textlx.value),驾驶员 with  alltrim(thisform.Container1.;
          text3.value),购置日期 with ctod(thisform.Container1.text4.value),发动机号 with ;
          val(thisform.Container1.text5.value),车架号 with val(thisform.Container1.text6.value),;
厂牌型号 with  trim(thisform.Container1.text7.value),载重 with val(thisform.;
container1.text8.value),坐位 with  val(thisform.container1.text9.value),使用人或单位;
with trim(thisform.Container1.text10.value),车辆所在单位 with ;
trim(thisform.Container1.text11.value)
                if thisform.Container1.check1.value=1
                        repl 车辆档案.年检审 with  .t.
                else
                        repl 车辆档案.年检审 with  .f.
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn

        endif
endif

 
 
VF车辆管理系统
在“删除”按钮的Click事件中添加以下代码:
a=messagebox("确定要删除记录吗?",32+4,"系统提示")
if a=6
   if eof()=.f. and bof()=.f.
      sele 1
      delete      &&逻辑删除记录
      pack        &&物理删除
      go top
      thisform.init    &&执行表单的Init事件
          l=.f.
      thisform.resize     &&执行表单的Resize事件
          thisform.container1.container2.command1.enabled=.f.
          store .t. to thisform.commandgroup1.command1.enabled,thisform.commandgroup1.;
command2.enabled,thisform.commandgroup1.command3.enabled,thisform.;
commandgroup1.command4.enabled,thisform.commandgroup1.command7.enabled  
          store .f. to thisform.commandgroup1.command6.enabled,;
thisform.commandgroup1.command8.enabled     &&设置控件无效
        endif
endif
在“修改”按钮的Click事件中添加以下代码:
nof=.t.
thisform.commandgroup1.command7.enabled=.f.
store .t. to thisform.commandgroup1.command6.enabled,;
thisform.commandgroup1.command5.enabled
thisform.commandgroup1.command5.caption="保存"     &&赋值给Command5的标题文本
thisform.Commandgroup1.command5.tooltiptext="保存记录"     &&显示工具提示
l=.t.
thisform.resize     &&执行表单的Resize事件
thisform.container1.container2.command1.enabled=.t.
store .f. to thisform.commandgroup1.command1.enabled,thisform.commandgroup1.command2.;
enabled,thisform.commandgroup1.command3.enabled,thisform.commandgroup1.;
command4.enabled, thisform.commandgroup1.command7.enabled     &&设置控件无效
thisform.commandgroup1.command8.enabled=.T.
thisform.container1.textcph.setfocus     &&文本框获得焦点
如果用户在执行“添加”操作(变量nof=.f.)时,单击“取消”按钮,则删除添加的空记录;如果是“修改”操作,只需设置相关控件无效即可。具体代码如下:
在“取消”按钮的Click 事件中添加以下代码:
if thisform.commandgroup1.command5.caption="保存" and  nof=.t.
   nof=.f.
else
   dele     &&逻辑删除记录
   if bof()=.f.
      skip -1
    endif
endif
thisform.init     &&执行表单的Init事件

 command4.enabled,thisform.commandgroup1.command7.enabled     &&设置控件有效
store .f. to thisform.commandgroup1.command6.enabled,;
thisform.commandgroup1.command8.enabled
在DateList 控件的 DateClick 事件中添加以下代码:
mymonth=padl(alltrim(str(thisform.datalist.month)),2,'0')
myday=padl(alltrim(str(thisform.datalist.day)),2,'0')
thisform.container1.text4.value=alltrim(mymonth)+"-"+alltrim(myday)+"-"+;
alltrim(str(thisform.datalist.year))
thisform.datalist.visible=.f.      &&隐藏表单
thisform.container1.text5.setfocus     &&Text5获得焦点
在DateList 控件的KeyPress事件中添加以下代码:
if keyascii=13
    this.dateclick     &&执行Datalist的Dateclick事件
endif
3.4  车辆档案查询设计
用户单击主菜单车辆管理下的车辆档案查询子菜单,进入车辆档案查询界面。通过车辆档案查询界面可以按不同条件查询车辆档案信息并且可以按Esc键退出该界面。车辆档案查询表单运行结果如图5所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图5  “车辆档案查询”表单运行结果
1.表单设计
(1)新建一个表单,名称为Frm车辆查询。
(2)在表单中添加Label控件、Grid控件、Optiongroup控件、Combo控件和Container控件。
(3)重要控件属性如表4所示。
表4                     “车辆档案查询”表单重要控件属性列表





控件名

属性




Combo1

RowSource
RowSourceType

车辆档案.车牌号码
6-字段


Combo2

RowSource
RowSourceType

车辆类型表.类型
6-字段


Combo3

RowSource
RowSourceType

驾驶员档案.姓名
6-字段
2.代码设计
在表单的 Init 事件中添加以下代码:
sele 1
thisform.container1.grid1.recordsource= "车辆档案"     &&赋数据源
thisform.container1.optiongroup1.option8.setfocus     &&Option8获得焦点
store 0 to thisform.container1.optiongroup1.option1.value,thisform.container1.;
  optiongroup1.option2.value,thisform.container1.optiongroup1.option3.value,;
  thisform.container1.optiongroup1.option4.value,thisform.container1.;
  optiongroup1.option5.value,thisform.container1.optiongroup1.option6.value,;
  thisform.container1.optiongroup1.option7.value
在“按车牌号”单选框的Click 事件中添加以下代码:
thisform.container1.combo1.enabled=.t.
thisform.container1.combo2.enabled=.f.
thisform.container1.combo3.enabled=.f.
thisform.container1.combo1.setfocus     &&Combo1获得焦点
在“按车辆类型”单选框的Click事件中添加以下代码:
thisform.container1.combo1.enabled=.f.
thisform.container1.combo2.enabled=.t.
thisform.container1.combo3.enabled=.f.
thisform.container1.combo2.setfocus     &&Combo2获得焦点
在“按驾驶员”单选框的Click事件中添加以下代码:
thisform.container1.combo3.enabled=.t.
thisform.container1.combo2.enabled=.f.
thisform.container1.combo1.enabled=.f.
thisform.container1.combo3.setfocus     &&Combo3获得焦点
在“已报废车辆”单选框的Click事件中添加以下代码:
thisform.container1.combo2.enabled=.f.
thisform.container1.combo1.enabled=.f.
thisform.container1.combo3.enabled=.f.
cif='报废否==.t.'

thisform.resize     &&执行表单的Resize事件           
在“没有保险的车辆”单选框的Click事件中添加以下代码:
thisform.container1.combo2.enabled=.f.
thisform.container1.combo1.enabled=.f.
thisform.container1.combo3.enabled=.f.
cif='年检审==.f.
thisform.resize     &&执行表单的Resize事件    
在“没有年检的车辆”单选框的Click事件中添加以下代码:
thisform.container1.combo2.enabled=.f.
thisform.container1.combo1.enabled=.f.
thisform.container1.combo3.enabled=.f.
cif='保险否==.f.'
thisform.resize   &&执行表单的Resize事件    

 
VF车辆管理系统
在“按车牌号”组合框的InteractiveChange事件中添加以下代码:
cif='left(车牌号码,len(alltrim(thisform.container1.combo1.displayvalue)))==;
thisform.container1.combo1.displayvalue'
thisform.resize     &&执行表单的Resize事件
在“按车辆类型”组合框的InteractiveChange事件中添加以下代码:
cif='left(车辆类型,len(alltrim(thisform.container1.combo2.displayvalue)))==;
thisform.container1.combo2.displayvalue'
thisform.resize     &&执行表单的Resize事件
在“按驾驶员”单选框的InteractiveChange事件中添加以下代码:
cif='left(驾驶员,len(alltrim(thisform.container1.combo3.displayvalue)))==;
thisform.container1.combo3.displayvalue'
thisform.resize     &&执行表单的Resize事件
3.5  车辆报废设计
用户单击主菜单车辆管理下的车辆报废子菜单选项,进入车辆报废界面。通过车辆报废模块进行添加、删除、修改报废车辆信息。并且支持快速浏览报废车辆信息及当前记录号的显示。辆报废表单运行结果如图6所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图6 “车辆报废”表单运行结果
1.表单设计
(1)新建一个表单,名称为Frm车辆报废。
(2)在表单中添加Label控件、Combo控件、Text控件、MonthView控件(Microsoft MonthView Control, version 6.0)、Edit控件、Command 控件、Commandgroup控件和Container控件。
(3)重要控件属性如表5所示。
表5                      “车辆报废”表单重要控件属性列表





控件名

属性




Text4

InputMask

99-99-9999


Combo1

RowSource
RowSourceType

车辆档案.车牌号码
6-字段
2.代码设计
在表单的 Unload 事件中添加以下代码:
close all     &&关闭全部数据库文件
use database\车辆报废表 exclusive     &&以独占方式打开数据表
set exact off     &&设置字符非精确比较
delete from 车辆报废表 where 车牌号码="NoNumber"
set exact on     &&设置字符精确比较
close all
在表单的 Init事件中添加以下代码:
sele 2     &&选择2号工作区为当前工作区
thisform.Container1.combo1.value = 车辆报废表.车牌号码
thisform.Container1.text4.value= alltrim(dtoc(车辆报废表.报废时间))
thisform.Container1.text3.value= 车辆报废表.报废原因
thisform.Container1.text1.value= 车辆报废表.经手人
thisform.container1.edit1.value= 车辆报废表.备注
thisform.Container1.label16.caption= alltrim(str(recno()))        &&显示当前的记录号
在表单的Load事件中添加以下代码:
sele 1     &&选择1号工作区为当前工作区
use database\车辆档案
sele 2
use database\车辆报废表 exclusive     &&以独占方式打开数据表
thisform.visible=.f.     &&设置控件无效
public nof,l     &&定义全局变量
l=.f.
在表单的Activate事件中添加以下代码:
store l to thisform.Container1.text1.enabled,thisform.Container1.text3.enabled,;
  thisform.Container1.text4.enabled,thisform.Container1.combo1.enabled,;
  thisform.Container1.edit1.enabled     &&设置控件是否有效
在“报费时间”文本框后“6”按钮的Click事件中添加以下代码:
thisform.datalist.visible=.t.
thisform.datalist.setfocus
在“报费时间”文本框的KeyPress 事件中添加以下代码:
if nkeycode=18 or nkeycode=3
  thisform.container1.container2.command1.click
endif
单击“添加”按钮,如果按钮上的标题文本为“添加”,则在“车辆报废表”中追加一条新记录,并将 “NoNumber” 赋于 “车牌号码”字段用来避免出现两条空记录使索引字段出错。然后清空表单上相关控件的内容,做好接收用户输入信息的准备,并设置按钮的标题文本为“保存”;如果为“保存”,则将用户输入的信息保存到“车辆报废表”中,然后再将异动的有关信息写入“车辆档案”表的“备注”字段,并设置“车辆档案”表中的“报废否”字段为逻辑真,最后设置按钮的标题文本为“添加”。具体代码如下:      
在“添加”按钮的Click 事件中添加以下代码:
if thisform.commandgroup1.command5.caption="添加"
   sele 2
   append blank     &&追加空记录
              repl 车辆报废表.车牌号码 with  "NoNumber"+alltrim(str(reccount()))
   thisform.refresh     &&刷新表单  

   thisform.commandgroup1.command3.enabled=.f.
   thisform.commandgroup1.command4.enabled=.f.
   thisform.commandgroup1.command6.enabled=.f.
   thisform.commandgroup1.command7.enabled=.f.
   thisform.commandgroup1.command8.enabled=.t.  
   store '' to thisform.container1.text4.value,thisform.Container1.text1.value,;
   thisform.Container1.text3.value,thisform.Container1.combo1.value
   thisform.Container1.edit1.value=""
   thisform.container1.combo1.setfocus     &&Combo1获得焦点
   thisform.container1.container2.command1.enabled=.t.
else
   nof=.f.
   if empty(thisform.Container1.combo1.value) or empty(thisform.Container1.text4.value);
      or empty(thisform.Container1.text3.value)  &&判断字段是否为空  
     messagebox("车牌号、时间、原因不允许为空!",16,"错误")     &&弹出系统提示
   else
     thisform.commandgroup1.command5.caption="添加"  &&赋值给Command5的标题文本
     thisform.Commandgroup1.command5.tooltiptext="添加记录" 
     l=.f.
   thisform.activate     &&执行表单的Activate事件
     thisform.container1.container2.command1.enabled=.f.
     thisform.commandgroup1.command1.enabled=.t.
     thisform.commandgroup1.command2.enabled=.t.
     thisform.commandgroup1.command3.enabled=.t.
     thisform.commandgroup1.command4.enabled=.t.
     thisform.commandgroup1.command7.enabled=.t.
     thisform.commandgroup1.command6.enabled=.f.
     thisform.commandgroup1.command8.enabled=.f.
     sele 2
     repl 车辆报废表.车牌号码 with  thisform.Container1.combo1.displayvalue,报废时间 ;
  with ctod(thisform.Container1.text4.value),报废原因 with thisform.Container1.text3.;
value,经手人 with thisform.Container1.text1.value,;
备注 with thisform.container1.edit1.value
     thisform.commandgroup1.command5.setfocus     &&“添加”按钮获得焦点
     sele 1     &&选择1号工作区为当前工作区
     repl 车辆档案.备注 with "---车辆报废信息---"+chr(10)+"报废时间:"+alltrim(thisform.;
Container1. text4.value)+chr(10)+"报废原因:"+alltrim(thisform.Container1.text3.text);
+chr(10)+"经 手 人:"+thisform.Container1.text1.value+chr(10)+"------",报废否 with .t.
     sele 2
   endif
endif
在“删除”按钮的Click事件中添加以下代码:
a=messagebox("确定要删除记录吗?",32+4,"系统提示")
if a=6
   if bof()=.f. and eof()=.f.
          sele 2
      delete     &&逻辑删除记录
      pack     &&物理删除
      go top     &&记录指针移动到第一条记录
      thisform.refresh     &&刷新表单
      thisform.init     &&执行表单的Init事件
      l=.f.
      thisform.activate     &&执行表单的Activate事件
      thisform.commandgroup1.command1.enabled=.t.
      thisform.commandgroup1.command2.enabled=.t.
      thisform.commandgroup1.command3.enabled=.t.
      thisform.commandgroup1.command4.enabled=.t.
      thisform.commandgroup1.command5.caption="添加"
      thisform.commandgroup1.command6.enabled=.f.
      thisform.commandgroup1.command7.enabled=.t.
   endif
endif
在“修改”按钮的Click事件中添加以下代码:
nof=.t.
thisform.commandgroup1.command5.caption="保存"     &&赋值给Command5的标题文本
l=.t.
thisform.activate  &&执行表单的Activate事件
thisform.commandgroup1.command1.enabled=.f.     &&设置控件无效
thisform.commandgroup1.command2.enabled=.f.
thisform.commandgroup1.command3.enabled=.f.
thisform.commandgroup1.command4.enabled=.f.
thisform.commandgroup1.command7.enabled=.f.
thisform.commandgroup1.command8.enabled=.t.
thisform.commandgroup1.command6.enabled=.t.
thisform.container1.combo1.setfocus     &&设置控件获得焦点
thisform.container1.container2.command1.enabled=.t.
如果用户在执行“添加”操作(变量nof=.f.)时,单击“取消”按钮,则删除添加的空记录;如果是“修改”操作,只需设置相关控件无效即可。具体代码如下:
在“取消”按钮的Click事件中添加以下代码:

 

VF车辆管理系统
if thisform.commandgroup1.command5.caption="保存" and  nof=.t.
   nof=.f.
else
        dele
        if bof()=.f.
                skip -1     &&记录指针向上移动一条记录
        endif
endif
thisform.init     &&执行表单的Init事件

thisform.commandgroup1.command2.enabled=.t.
thisform.commandgroup1.command3.enabled=.t.
thisform.commandgroup1.command4.enabled=.t.
thisform.commandgroup1.command6.enabled=.f.
thisform.commandgroup1.command7.enabled=.t.
thisform.commandgroup1.command8.enabled=.f.
thisform.container1.container2.command1.enabled=.f.
在DateList 控件的DateClick 事件中添加以下代码:
mymonth=padl(alltrim(str(thisform.datalist.month)),2,'0')
myday=padl(alltrim(str(thisform.datalist.day)),2,'0')
thisform.container1.text4.value=alltrim(mymonth)+"-"+alltrim(myday)+"-";
+alltrim(str(thisform.datalist.year))  && 在日期文本框中显示为 “月月-日日-年” 的形式
thisform.datalist.visible=.f.     &&设置控件无效 
thisform.container1.text3.setfocus     &&Text3获得焦点
3.6  车辆维修查询设计
用户进入系统后,单击主菜单车辆管理下的维修管理子菜单下的车辆维修查询模块选项,进入车辆维修查询界面。车辆维修查询表单运行结果如图7所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图7  “车辆维修查询”表单运行结果
1.表单设计
(1)新建一个表单,名称为Frm车辆维修查询。
(2)在表单中添加Label控件、Grid控件、Edit控件、Check控件、Combo控件、Text控件、MonthView控件(Microsoft MonthView Control, version 6.0)、Command控件和Container控件。
(3)重要控件属性如表6所示。
表6                     “车辆维修查询”表单重要控件属性列表





控件名

属性




Text4

InputMask

99-99-9999


Combo1

RowSource
RowSourceType

车辆档案.车牌号码
6-字段


Gird1

Rowsource

车辆维修表
2.代码设计
在表单的 Load事件中添加以下代码:
sele 1     &&选择1号工作区为当前工作区
use database\车辆档案
sele 2
use database\车辆维修表
在表单的Init 事件中添加以下代码:
public nu,co,su     &&设置全局变量
nu=0
thisform.container1.combo1.value=车辆维修表.车牌号码
在“按车牌号”复选框的Click事件中添加以下代码:
nu=1
if thisform.container1.check1.value=1
   thisform.container1.combo1.enabled=.t.     &&设置控件有效
else
   thisform.container1.combo1.enabled=.f.     &&设置控件无效
endif
在“按维修日期”复选框的Click事件中添加以下代码:
nu=1
if thisform.container1.check2.value=1
        thisform.container1.text4.enabled=.t.     &&设置控件有效
        thisform.container1.combo2.enabled=.t.
        thisform.container1.container2.command1.enabled=.t.
else
        thisform.container1.text4.enabled=.f.     &&设置控件无效
        thisform.container1.combo2.enabled=.f.
        thisform.container1.container2.command1.enabled=.f.
endif
在“按维修日期”文本框后面的“6”按钮的Click事件中添加以下代码:
thisform.datalist.visible=.t.     &&显示Datalist
thisform.datalist.setfocus     &&Datalist获得焦点
判断“按车牌号码”复选框是否被选中,如果被选中,则查询指定车辆在指定时间的记录;如果没被选中,则查询所有车辆在指定时间的记录。具体代码如下:
在“按维修日期”组合框的Click事件中添加以下代码:
nu=1
if thisform.container1.check1.value=0
   if alltrim(thisform.container1.combo2.value)="之后"
          select *;
          from database!车辆维修表;
          where 维修日期>ctod(thisform.container1.text4.text);
          into cursor 临时车辆维修表
   else
      if alltrim(thisform.container1.combo2.value)="之前"
                 select * from database!车辆维修表 where 维修日期                 into cursor 临时车辆维修表
          else
                 select * from database!车辆维修表 where 维修日期==ctod(thisform.container1.text4.text);
                 into cursor 临时车辆维修表
           endif
        endif
else
        this.parent.combo1.click     &&执行Combo1的Click事件
endif
thisform.container1.grid1.recordsource="临时车辆维修表"     &&赋数据源
thisform.refresh     &&刷新表单
在“按维修日期”文本框的KeyPress事件中添加以下代码:

endif
当用户改变单元格中的内容时,在thisform.container1.grid1.column1.text1.value 属性中写入车辆维修的相关信息。具体代码如下:   
在表格控件的AfterRowColChange事件中添加以下代码:
thisform.container1.combo1.value=thisform.container1.grid1.column1.text1.value
set talk off
if nu=0
    cdbf='车辆维修表'
        sele 2
else
    cdbf='临时车辆维修表'
endif
numb=recno()
  count for &cdbf..车牌号码=thisform.container1.grid1.column1.text1.value  to  Co
  sum &cdbf..共计费用 for &cdbf..车牌号码=thisform.container1.grid1.column1.text1.value to SU
thisform.container1.container1.container2.edit1.value= "车牌号为 "+thisform.container1.;
 combo1.value+"的车辆,共维修了"+alltrim(str(Co))+"次,共计费用为"+alltrim(str(SU))+"元"
goto numb
在“按车牌号”组合框的Click事件中添加以下代码:
if thisform.container1.check2.value=0
  select * from database!车辆维修表 where 车牌号码==thisform.container1.combo1.value;
  into cursor 临时车辆维修表
  thisform.container1.grid1.recordsource="临时车辆维修表"     &&赋数据源
else
  cif=ctod(thisform.container1.text4.text)
  if alltrim(thisform.container1.combo2.value)="之后"
        select * from database!车辆维修表;
        where 车牌号码==thisform.container1.combo1.value and 维修日期>cif into cursor 临时车辆维修表
        thisform.container1.grid1.recordsource="临时车辆维修表"
  else
        if alltrim(thisform.container1.combo2.value)="之前"
          select *;
          from database!车辆维修表 where 车牌号码==thisform.container1.combo1.value and 维修日期          into cursor 临时车辆维修表
          thisform.container1.grid1.recordsource="临时车辆维修表"
        else
          select *;
          from database!车辆维修表 where 车牌号码==thisform.container1.combo1.value and 维修日期==cif;
          into cursor 临时车辆维修表
          thisform.container1.grid1.recordsource="临时车辆维修表"
        endif
  endif
endif
thisform.refresh     &&刷新表单

 
 
VF车辆管理系统
在DateList 控件的DateClick事件中添加以下代码:
mymonth=padl(alltrim(str(thisform.datalist.month)),2,'0')
myday=padl(alltrim(str(thisform.datalist.day)),2,'0')  
thisform.container1.text4.value=alltrim(mymonth)+alltrim(myday)+;
alltrim(str(thisform.datalist.year))
thisform.datalist.visible=.f.     &&显示Datalist控件
thisform.container1.combo2.setfocus     &&Combo2获得焦点
 
附录A  参考文献
1.《Visual Basic精彩编程200例》机械工业出版社 赛奎春、高春艳等
2003年1月  
2.《Visual Basic数据库开发实例解析》机械工业出版社     刘志铭、高春艳等
2003年8月  
3.《Visual FoxPro数据库开发实例解析》机械工业出版社  王晶莹、王国辉等
2003年9月  
4.《Power Builder数据库开发实例解析》机械工业出版社  华传铭、张振坤等
2003年9月  
5.《Delphi数据库开发实例解析》机械工业出版社 赛奎春、郑骁鹏等
2004年2月  
6.《PowerBuilder 精彩编程200例》机械工业出版社 张振坤、李文立等      
2004年9月
7.《Visual FoxPro 精彩编程200例》机械工业出版社 王国辉、董韶华等
2004年9月
8.《ASP数据库开发实例解析》机械工业出版社 李严、于亚芳、王国辉       2004年12月
9.《Delphi工程应用与项目实践》机械工业出版社 宋坤、赵智勇等
2005年1月  
10.《Visual Basic工程应用与项目实践》机械工业出版社 高春艳、李俊民等
2005年1月  
11.《Visual C++工程应用与项目实践》机械工业出版社 张雨、阮伟良等
2005年1月
12.《JSP工程应用与项目实践》机械工业出版社 陈威、白伟明、李楠
2005年2月
13.《ASP工程应用与项目实践》机械工业出版社 王国辉、牛强、李南南
2005年4月
14.《Visual Basic 信息系统开发实例精选》机械工业出版社 高春艳、李俊民、张耀庭等   
2005年7月
15.《ASP 信息系统开发实例精选》机械工业出版社 王国辉、牛强、李南南等
2005年7月  
16.《Delphi 信息系统开发实例精选》机械工业出版社 宋坤、赵智勇、刘强等
2005年7月  
17.《Visual foxpro数据库开发关键技术与实例应用》人民邮电出版社 周桓、张雨、王国辉
2004年5月
18.《Power Builder数据库开发关键技术与实例应用》人民邮电出版社 刘志铭、张振坤、冯文萃 2004年5月
19.《Delphi数据库开发关键技术与实例应用》人民邮电出版社 赛奎春、陈紫鸿、宋昆
2004年5月
20.《Visual basic数据库开发关键技术与实例应用》人民邮电出版社 高春艳、李艳
2004年5月
21.《Visual C++ 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
22.《Visual Basic 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
23.《PowerBuilder 管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
24.《Visual FoxPro管理信息系统完整项目实例剖析》人民邮电出版社 明日科技
2005年7月  
25.《SQL Server数据库开发实例解析》机械工业出版社 宋昆、李严等
2006年1月
26.《Access数据库开发实例解析》机械工业出版社 李俊民、高春燕等
2006年1月
27.《Visual Basic数据库系统开发完全手册》人民邮电出版社 明日科技王春才、高春艳、
李俊民 2006年3月
28.《Visual C++ 数据库系统开发完全手册》人民邮电出版社 明日科技 王端、于速、张雨
2006年3月
29.《Delphi数据库系统开发完全手册》人民邮电出版社 明日科技 宋坤、邹天思
2006年3月
30.《JSP数据库系统开发完全手册》人民邮电出版社 明日科技 王国辉、李文立、杨亮
2006年3月
31.《Visual Basic数据库系统开发案例精选》人民邮电出版社 明日科技 高春艳、李俊民、
刘彬彬 2006年5月
32.《Delphi 数据库系统开发案例精选》人民邮电出版社 明日科技 李文立、刘强、梁冰
2006年5月
33.《ASP数据库系统开发案例精选》人民邮电出版社 明日科技 孙明丽、邹天思、盖天宇
2006年5月
34.《JSP数据库系统开发案例精选》人民邮电出版社 明日科技 王国辉、王易
2006年5月
 
VF车辆管理系统
附录B  数据表
q         车辆报废表
车辆报废表用来保存车辆报废信息。车辆报废表的结构如表7所示。
表7                          车辆报废表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

 


报废原因

字符型

30

 


报废时间

日期型

8

 


经 手 人

字符型

8

 


备    注

备注型

4

 
q         车辆档案表
车辆档案表用来保存车辆档案信息。车辆档案表的结构如表8所示。
表8                           车辆档案表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

降序


车辆类型

字符型

10

 


驾 驶 员

字符型

8

 


购置日期

日期型

8

 


发动机号

整型

4

 


车 架 号

整型

4

 


厂牌型号

字符型

30

 


载    重

整型

4

 


座    位

整型

4

 


使用人或单位

字符型

30

 


车辆所在单位

字符型

30

 


年 检 审

逻辑型

1

 


保 险 否

逻辑型

1

 


异 动 否

逻辑型

1

 


报 废 否

逻辑型

1

 


备    注

备注型

4

 
q         车辆类型表
车辆类型表用来保存车辆类型信息。车辆类型表的结构如表9所示。
表9                            车辆类型表的结构





字段名称

数据类型

字段大小

索引


类    型

字符型

14

 
q         车辆事故表
车辆事故表用来保存车辆事故信息。车辆事故表的结构如表10所示。
表10                          车辆事故表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

 


车辆类型

字符型

14

 


事故时间

日期型

8

 


事故概要

字符型

30

 


事故确认者

字符型

8

 


公司负担金额

数值型

10

 


保险理赔金额

数值型

10

 


对方赔偿金额

数值型

10

 


对方姓名

字符型

8

 


对方住址

字符型

30

 


对方所在单位

字符型

30

 


对方损坏程度

字符型

10

 


和解内容

备注型

4

 
q         车辆违章表
车辆违章表用来保存车辆违章信息。车辆违章表的结构如表11所示。
表11                          车辆违章表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

降序


原因

字符型

30

 


处罚

字符型

30

 


违章时间

日期型

8

 


备注

备注型

4

 
q         车辆维修表
车辆维修表用来保存车辆维修信息。车辆维修表的结构如表12所示。
表12                          车辆维修表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

降序


更换零件1

字符型

10

 


数量1

整型

4

 


更换零件2

字符型

10

 


数量2

整型

4

 


更换零件3

字符型

10

 


数量3

整型

4

 


维修日期

日期型

8

 


共计费用

数值型

10

 


备注

备注型

4

 
q         车辆异动表
车辆异动表用来保存车辆异动信息。车辆异动表的结构如表13所示。
表13                         车辆异动表的结构





字段名

数据类型

长度

索引


车牌号码

字符型

10

降序


异动时间

日期型

8

 


异动地点

字符型

30

 


经 手 人

字符型

8

 


备注

备注型

4

 
q         驾驶员档案表
驾驶员档案表用来保存驾驶员的基本信息。驾驶员档案表的结构见表14所示。
表14                         驾驶员档案表的结构





字段名

数据类型

长度

索引


姓名

字符型

8

 


性别

字符型

2

 


出生年月

日期型

8

 


驾驶证号

字符型

10

 


领证日期

日期型

8

 


证件有效期

日期型

8

 


驾龄

数值型

2

 


准驾车型

字符型

10

 


何时参加工作

日期型

8

 


联系电话

字符型

16

 


年检记录

备注型

4

 


备注

备注型

4

 
附录C  文件架构
主文件架构如图8所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图8  主文件架构图
 
 
 
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师