运输行业管理系统_第1页
运输行业管理系统_第2页
运输行业管理系统_第3页
运输行业管理系统_第4页
运输行业管理系统_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、运输行业管理系统运输行业管理系统系系 统统 分分 析析 本系统的主要功能:本系统的主要功能:记录司机的基本资料,包括姓名、身份证号等基本信息。并将司机的资料存入司机档案数据表driverinfo,并可以对该表中的数据进行修改、删除及查询。记录车辆的基本信息,包括车号、隶属车队等基本信息。并将车辆的资料存入车辆档案数据表carinfo中,并可以对该表进行修改、删除及查询。业务管理-运营业务记录管理,即维护workrec表,包括运行车辆id、司机id等属性,并可执行添加、修改、删除和查询等操作。业务管理-车辆维修记录管理,即维护repairrec数据表,并可执行添加、修改、删除和查询等操作。业务管

2、理-车辆违章记录关系,即维护pecrec数据表,并可执行添加、修改、删除和查询等操作。业务管理-车辆事故记录管理,即维护accrec数据表,并可执行添加、修改、删除和查询等操作。每日自动结算 启动程序会自动弹出昨日结算窗口,提示昨日收支及盈利情况,该窗口也可在程序运行时调出。 系系 统统 设设 计计 思思 想想 运输行业管理系统运输行业管理系统 本例的运输行业管理系统应用于某运输且的数字化管理,实现运输企业管理的易操作、可维护性等。 首先要求系统能够完整对司机档案和车辆档案的记录和查询等各种操作,为此,系统必须能够维护两个分别记录司机档案和车辆档案详细资料信息的数据表,能对该数据表进行写入和读

3、取数据的操作。此外,系统还要求记录运输企业日常运营的各项业务,这样系统还需要维护域日常业务相关的车辆运营记录表、车辆维修记录表、车辆违章记录表和车辆事故记录表等。 系统数据库访问的实现方式主要通过adodc控件对数据库进行读、写和查询。系统结构设计 运输行业管理系统运输行业管理系统数据库 数据库需求分析 运输行业管理系统运输行业管理系统 用户可维护司机档案,进行添加、修改和删除操作,并能通过姓名、身份证号、性别、司机工号及备注等项目对司机档案进行查询。 司机id必须唯一。 用户可对车辆档案进行添加、修改和删除操作,并能通过车号、车辆是否年检、是否有车险及备注等对车辆档案进行查询。 车辆id必须

4、唯一。 用户可对车辆运营记录进行添加、修改和删除操作,并能通过车辆id,司机id,运营日期及备注等对车辆运营记录进行查询。 用户可对车辆维修记录进行查询、修改和删除操作,并能通过车辆id,维修日期及备注等对车辆维修记录进行查询。 用户可对车辆违章记录进行添加、修改和删除操作,并能通过车辆id,司机id,车辆违章日期及备注等对车辆违章记录进行查询。 用户可对车辆事故记录进行添加、修改和删除操作,并通过车辆id,司机id、事故日期及备注等对车辆事故记录进行查询。 上述数据中,车辆运营记录、车辆维修记录、车辆违章记录和车辆事故记录中的司机id和车辆id必须与司机档案中的司机id,车辆档案中的车辆id

5、相关联。 数据库概念结构设计 运输行业管理系统运输行业管理系统司机档案实体司机档案实体(司机档案id,司机姓名,司机身份证号,司机性别,司机出生日期,司机工号,司机电话,隶属车队名,司机驾照号,驾照截止日期,备注) 车辆档案实体车辆档案实体(车辆档案id,车号,隶属车队名,车辆购买日期,是否年检,是否车险,备注)运输行业管理系统运输行业管理系统数据库概念结构设计 其余其余e-r图请见书图请见书p10p11数据库逻辑结构设计 运输行业管理系统运输行业管理系统司机档案数据表司机档案数据表 字段名字段名字段说明字段说明数据类型数据类型长度(字节)长度(字节)必填字段必填字段主键主键driverinf

6、o司机司机id自动编号自动编号长整形长整形是是是是drivername司机姓名司机姓名文本文本4是是否否drivernum司机工身份证号司机工身份证号文本文本18是是否否driversex司机性别司机性别是是/否否1是是否否driverbir司机出生日期司机出生日期日期日期/时间时间中日期中日期是是否否driverworknum司机工号司机工号数字数字长整形长整形是是否否drivertel司机电话司机电话文本文本11是是否否driverteam隶属车队隶属车队文本文本12是是否否driverlicencenum驾照号驾照号文本文本10是是否否driverlicencedate驾照截止日期驾照截

7、止日期日期日期/时间时间中日期中日期是是否否remark备注备注文本文本50否否否否运输行业管理系统运输行业管理系统数据库逻辑结构设计 车辆档案数据表车辆档案数据表字段名字段名字段说明字段说明数据类型数据类型长度(字节)长度(字节)必填字段必填字段主键主键carid车辆档案车辆档案id自动编号自动编号长整型长整型是是是是carnum车号车号文本文本7是是否否carteam隶属车队隶属车队文本文本12是是否否cardate购买日期购买日期日期日期/时间时间中日期中日期是是否否carcheck是否年检是否年检是是/否否1是是否否carins是否车险是否车险是是/否否1是是否否remark备注备注文

8、本文本50否否否否其余表请见书其余表请见书p12p13表之间的关系 运输行业管理系统运输行业管理系统运输行业管理系统运输行业管理系统数据库的连接 以access数据库系统为例,连接数据库需要用到adodc控件控件1 adodc控件的添加控件的添加 选择菜单命令【工程】【部件】,弹出“部件对话框” 选择microsoft ado data control 6.0(ole db) 运输行业管理系统运输行业管理系统数据库的连接 2 添加引用添加引用选择【工程】【引用】,在弹出的“引用”对话框中选择microsoft activex data object 2.0 library。部件添加说部件添加说

9、明明toolbar、imagelist: microsoft windows common controls 6.0dtpicker: microsoft windows common controls-2 6.0adodc: microsoft ado data control 6.0(oledb)datagrid: microsoft datagrid control 6.0(oledb)sstable: microsoft tabbed dialog control 6.0microsoft axtivex data objects 2.0引用添加说引用添加说明明系统实施 运输行业管理系

10、统运输行业管理系统公共模块公共模块 1 新建工程 新建exe工程,保存。2 添加microsoft ado data control 6.0部件和microsoft activex data object 2.0 library引用。3定义全局变量 添加公共模块,定义全局变量,用于数据库操作。 public dbcn as new adodb.connection public cnstr as string adodb.connection,用于连接、打开数据库界面设计 运输行业管理系统运输行业管理系统1 设计欢迎界面设计欢迎界面欢迎界面用于进行提示,用户单击进入系统。欢迎界面属性及控件见书

11、p18表1-7运输行业管理系统运输行业管理系统 【工程】【添加窗体】,添加一个窗体,命令为formlogin,设置其属性。 需要说明: 在窗体的load事件中 (1) app 对象是通过关键字 app 访问的全局对象。它指定如下信息:应用程序的标题、版本信息、可执行文件和帮助文件的路径及名称以及是否运行前一个应用程序的示例。 (2) previnstance 属性 返回一个值,该值指示是否已经有前一个应用程序实例在运行。语法:object.previnstance。object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。 if app.previnstance then ms

12、gbox 您已经启动过了本程序!, , 运输行业管理系统 end end if (3)在lableenter控件的单击事件中添加启动主窗体代码 unload me mdifrm.show添加欢迎界面的过程private sub form_load() if app.previnstance then msgbox 您已经启动过了本程序!, , 运输管理系统 end end ifend subprivate sub image1_click() unload me mainfrm.showend sub2 系统主界面布局设计系统主界面布局设计主界面主要包括菜单、工具栏和程序主窗口。有以下功能:调

13、用各子窗口。关于界面。退出系统。【工程】【添加mdi窗体】,添加一个mdi窗体。工程中的mdi窗体时唯一的。添加了mdi窗体后,工程中的“添加mdi窗体”子菜单变为灰色不可用。窗体控件见p19 表1-8注意:添加注意:添加toolbar和和imagelist之前,必须添加之前,必须添加部件部件microsoft windows common controls6.0界面设计 运输行业管理系统运输行业管理系统3编辑主界面菜单编辑主界面菜单 【工具】-【菜单编辑器】,添加菜单 主界面菜单设置见书p19表1-94 系统主界面工具栏系统主界面工具栏 编辑imagelist控件, 添加图片,用户和工具栏上

14、的各个按钮绑定。 编辑toolbar控件,添加按钮。按钮属性设置见p21表1-10 界面设计 运输行业管理系统运输行业管理系统界面设计 运输行业管理系统运输行业管理系统运输行业管理系统运输行业管理系统系统主界面实现系统主界面实现 private sub mdiform_load() 设置数据库连接字符串设置数据库连接字符串 cnstr = provider=microsoft.jet.oledb.4.0;data source=c:documents and settingsadministrator桌面桌面信息系统分析与设计教信息系统分析与设计教学相关资料学相关资料代码代码运输行业管理系统运

15、输行业管理系统transportation.mdb;persist security info=false 连接数据库连接数据库 dbcn.open cnstr 日结算自动提示日结算自动提示 formbal.show me.windowstate = 2窗体最大化窗体最大化end sub运输行业管理系统运输行业管理系统系统主界面实现 添加响应菜单 private sub ope_acc_man_click() fromacc.show fromacc.sstab1.tab = 0 fromacc.setfocusend subprivate sub ope_acc_query_click()

16、fromacc.show fromacc.sstab1.tab = 1 fromacc.setfocusend subprivate sub ope_pec_man_click() frompec.show frompec.sstab1.tab = 0 frompec.setfocusend sub 运输行业管理系统运输行业管理系统系统主界面实现 添加工具栏响应函数 private sub toolbar1_buttonclick(byval button as mscomctllib.button) select case button.key 司机档案 case “key_dri“ 此关键

17、字即为设计工具栏按钮时指定的关键字 call dri_man_click 这个函数名称为菜单响应函数名,这样菜单操作和工具栏上的按钮操作就可以共享同一段代码 车辆档案 case key_car call car_man_click 运营管理 case key_work call ope_work_man_click 维修记录 case key_rep call ope_rep_man_click end selectend sub运输行业管理系统运输行业管理系统司机档案管理模块sstabletestboxoptionbuttondtpickercommandbuttondatagridadod

18、c一、界面设计一、界面设计控件详细信息见书控件详细信息见书p26 表表1-11 注意窗体的注意窗体的mdichild属性为属性为truetxtnametxtnumoptsexdtpbirtxtworknumtxtremarktxtteltxtteamtxtlicencenumdtplicdatedatagrid1运输行业管理系统运输行业管理系统司机档案管理模块部件添加说部件添加说明明toolbar、imagelist: microsoft windows common controls 6.0dtpicker: microsoft windows common controls-2 6.0ad

19、odc: microsoft ado data control 6.0(oledb)datagrid: microsoft datagrid control 6.0(oledb)sstable: microsoft tabbed dialog control 6.0microsoft axtivex data objects 2.0引用添加说引用添加说明明运输行业管理系统运输行业管理系统司机档案管理模块司机档案查询界面设计optionbuttontextbox运输行业管理系统运输行业管理系统司机档案管理模块 listviewoptquetxtquenametxtquenumoptquesext

20、xtqueworknumtxtqueremarklvresult运输行业管理系统运输行业管理系统司机档案管理模块 司机档案表结构 在显示查询结果的listview控件中添加上述给列,用于表示查询出来的信息分量的意义。 运输行业管理系统运输行业管理系统司机档案管理模块 (1)右键点击listview,选择属性 (2)点击插入列 (3)输入列标题 (4)指定列宽度 (5)重复上述步骤,将所有的列插入 运输行业管理系统运输行业管理系统司机档案管理模块 在任何一个窗体或选项卡中,只能有一组单选钮 ,每次也只能选择界面上单选钮中的一个。要同时实现多组单选钮,可以采用frame(框架)控件,将多组单选钮放

21、在不同的框架中即可 在查询选项卡中,查询结果控件和其余的控件重叠,可以采用“置前”和“置后”命令对它进行调整,然后配合其visible属性进行控制。界面设计技巧 运输行业管理系统运输行业管理系统司机档案管理模块 司机档案管理窗体初始化过程 初始化adodc控件,连接数据库,设置列首 adodc1.connectionstring = cnstr 设置连接字符串设置连接字符串 adodc1.recordsource = “select driverid as 司机id,” & _设置数据集设置数据集 drivername as 姓名, & _ drivernum as 身份证号,

22、 & _ driversex as 性别, & _ driverbir as 出生日期, & _ driverworknum as 工号, & _ drivertel as 电话, & _ driverteam as 隶属车队, & _ driverlicencenum as 司机驾照号, & _ driverlicencedate as 驾照截止日期, & _ remark as 备注 & _ from driverinfo debug.print adodc1.recordsource 将将datagrid控件与控件与

23、adodc控件绑定控件绑定 set datagrid1.datasource = adodc1进入“司机档案”界面首先要对adodc控件和datagrid控件进行初始化,这部分代码在窗体的load事件内实现。form_load()运输行业管理系统运输行业管理系统司机档案管理模块 private sub datagrid1_rowcolchange(lastrow as variant, byval lastcol as integer) 检验是否为空行 if datagrid1.columns(0).text = “” then datagrid1.columns(0)为司机id exit s

24、ub end if 将datagrid中数据读入各个控件显示数据内容 me.txtname.text = datagrid1.columns(1).text me.txtnum.text = datagrid1.columns(2).text if datagrid1.columns(3).text = 0 then me.optsex(0).value = true else me.optsex(1).value = true end if me.dtpbir.value = datagrid1.columns(4).text me.txtworknum.text = datagrid1.c

25、olumns(5).text me.txttel.text = datagrid1.columns(6).text me.txttream.text = datagrid1.columns(7).text me.txtlicencenum.text = datagrid1.columns(8).text me.dtplicdate.value = datagrid1.columns(9).text me.txtremark.text = datagrid1.columns(10).text end sub运输行业管理系统运输行业管理系统司机档案管理模块 添加司机档案点击添加运输行业管理系统运输

26、行业管理系统司机档案管理模块 添加司机档案1 检查输入信息是否正确2 根据输入信息构造sql语句3 执行sql语句 没有输入司机姓名 if len(trim(me.txtname.text) = 0 then msgbox 请输入司机姓名!, , 添加司机档案 exit sub end if 运输行业管理系统运输行业管理系统司机档案管理模块 检查输入信息是否正确(p31)string.trimclass overview | class members | this package | all packages syntaxpublic string trim() returnsthis st

27、ring, with white space removed from the front and end. descriptionremoves white space from both ends of this string.len() 返回 long,其中包含字符串内字符的数目 输入司机姓名不正确 if len(trim(me.txtname.text) 4 then msgbox “输入司机姓名不正确!, , 添加司机档案 exit sub end if 运输行业管理系统运输行业管理系统司机档案管理模块 检查输入信息是否正确 sqlstr = insert into driverin

28、fo sqlstr = sqlstr & (drivername,drivernum,driversex,driverbir,driverworknum, sqlstr = sqlstr & drivertel,driverteam,driverlicencenum,driverlicencedate) sqlstr = sqlstr & values( & me.txtname.text & , sqlstr = sqlstr & & me.txtnum.text & , sqlstr = sqlstr & driver

29、sex & , sqlstr = sqlstr & “#” & me.dtpbir.value & “#,“ 插入日期值的时候前后加“#” sqlstr = sqlstr & me.txtworknum.text & , sqlstr = sqlstr & & me.txttel.text & , sqlstr = sqlstr & & me.txttream & , sqlstr = sqlstr & & me.txtlicencenum.text & , sqlstr =

30、 sqlstr & # & me.dtplicdate.value & #);运输行业管理系统运输行业管理系统司机档案管理模块 dbcn.execute sqlstr 执行sql语句构造sql语句运输行业管理系统运输行业管理系统司机档案管理模块 在执行sql语句时,对字符串的引用都要用左右两个单引号分割,而程序会把字符串中的单引号看做是sql语句的分隔符来处理,如果字符串中含有单引号,需要用两个单引号来代替一个单引号,可以用replace()函数来替换。remark = replace(trim(me.txtremark.text),”,”)private sub cm

31、dadd_click()dim driversex as integerdim rsadd as new adodb.recordsetdim sqlstr as stringdim remark as string 首先检验输入 没有输入司机姓名 if len(trim(me.txtname.text) = 0 then msgbox 请输入司机姓名!, , 添加司机档案 exit sub end if 输入司机姓名不正确 if len(trim(me.txtname.text) 4 then msgbox 输入司机姓名不正确!, , 添加司机档案 exit sub end if 没有输入身

32、份证号 if len(trim(me.txtnum.text) = 0 then msgbox 请输入18位身份证号!, , 添加司机档案 exit sub end if 输入身份证号不正确 if len(trim(me.txtnum.text) 18 then msgbox 身份证号不正确,请输入18位身份证号!, , 添加司机档案 exit sub end if没有选择司机性别 if me.optsex(0).value = false and me.optsex(1).value = false then msgbox 请选择司机性别!, , 添加司机档案 exit sub end if

33、 没有输入司机工号 if len(trim(me.txtworknum.text) = 0 then msgbox 请输入司机工号!, , 添加司机档案 exit sub end if 没有输入电话号 if len(trim(me.txttel.text) = 0 then msgbox 请输入11位电话号!, , 添加司机档案 exit sub end if 输入的电话不正确 if len(trim(me.txttel.text) 11 then msgbox 输入的电话不正确,请输入11位电话号码!, , 添加司机档案 exit sub end if 没有输入隶属车队名 if len(tr

34、im(me.txtteam.text) = 0 then msgbox 请输入隶属车队名!, , 添加司机档案 exit sub end if 没有输入司机驾照号 if len(trim(me.txtlicencenum.text) 4 then msgbox 司机姓名长度超出范围!, , 查询司机档案 exit sub end if生成查询语句 questr = select * from driverinfo where drivername like % & drivername & %dim rsquery as new adodb.recordset 结果集对象结果集

35、对象司机档案查询部分代码(p36)rsquery.open questr, dbcn, adopenstatic, adlockoptimistic 显示查询结果 if rsquery.eof then msgbox 数据库中没有符合要求的记录!, , 查询司机档案 exit sub end if打开数据集打开数据集运输行业管理系统运输行业管理系统司机档案查询模块 adopenstatic 向前游标 adopenkeyset 键集游标 adlockoptimistic设置窗口为固定的大小 rsquery.movefirst数据集指针指向第一个记录rsquery.recordcount数据集中记

36、录的个数rsquery.movenext数据集指向下一条记录查询串查询串连接对象连接对象 adodb.recordset.open 中参数的用法 recordset对象的open方法原型:open(source,activeconnection,cursortype,locktype,options)cursortype游标类型:const adopenforwardonly = 0 前向游标,为缺省游标,提供最快的运行性能。用它打开recordset,从对至尾顺序取得所有结果。它不支持向后滚动,只允许在结果间单向移动。const adopenkeyset = 1 静态游标,反映第一次打开游标

37、时表中数据的状态,游标无法查明底层表中的数据行是否更新过、删除过或添加了新的数据。不过与只能前移的洲标不同,静态游标可以在结果间前后滚动。const adopendynamic = 2 键盘驱动的游标,可以查询表中底层数据行的某些变化,但不是全部。它特别是可以准确反映数据是否更新过。但它不能查明其它用户是否曾删除过数据行(删除掉的数据行在recordset中会留下空洞)。键盘驱动的游标支持在结果间前后滚动。const adopenstatic = 3 动态游标,是最丰富的游标类型。游标打开时可以查询其他用户对表的任何改动,而且支持滚动。locktype加锁类型: const adlockrea

38、donly = 1 缺省的上锁类型,只读方式上锁允许多个用户同时读取同样的数据,但不能改变数据。const adlockpessimistic = 2 以悲观上锁方式打开数据对象。该方式假定在你编辑记录时会有其它用户访问数据。此时一旦你开始编辑记录,其它用户就不能访问该数据。const adlockoptimistic = 3 以乐观上锁方式打开数据对象。该方式假定在你编辑记录时不会有其它用户访问数据。在完成改变之前,其它用户不能访问该记录。const adlockbatchoptimistic = 4 执行多行批处理更新时使用这种类型options参数:options参数标明用来打开记录集的

39、命令字符串的类型。告诉ado被执行的字符串内容的有关信息有助于高效地执行该命令字符串。adcmdtable。被执行的字符串包含一个表的名字。 adcmdtext。被执行的字符串包含一个命令文本。 adcmdstoredproc。被执行的字符串包含一个存储过程名。 adcmdunknown。不指定字符串的内容。(这是缺省值。) rs.open sql,conn,a,b a: adopenforwardonly(=0) 只读,且当前数据记录只能向下移动 adopenstatic(=3) 只读,当前数据记录可自由移动 adopenkeyset(=1) 可读写,当前数据记录可自由移动 adopendy

40、namic(=2) 可读写,当前数据记录可自由移动,可看到新增记录 b: adlockreadonly(=1) 默认值,用来打开只读记录 adlockpessimistic(=2) 悲观锁定 adlockoptimistic(=3) 乐观锁定 adlockbatchoptimistic(=4) 批次乐观锁定司机档案查询司机档案查询运输行业管理系统运输行业管理系统司机档案查询模块 查询按钮private sub cmdque_click()dim questr as stringdim rsquery as new adodb.recordsetdim drivername as stringd

41、im remark as stringdim ltitm as listitemdim i as integer 按姓名查询 if me.optque(0).value = true then 判断查询条件 if me.txtquename.text = then msgbox 请输入要查询的司机姓名!, , 查询司机档案 exit sub elseif len(trim(me.txtquename.text) 4 then msgbox 司机姓名长度超出范围!, , 查询司机档案 exit sub end if 替换单引号 drivername = replace(trim(me.txtqu

42、ename.text), , ) 生成查询语句 questr = select * from driverinfo where drivername like % & drivername & %private sub form_load() lvresult.visible = falseend sub按身份证号查询 elseif me.optque(1).value = true then 判断查询条件 if me.txtquenum.text = then msgbox 请输入要查询的身份证号!, , 查询司机档案 exit sub elseif len(trim(me.

43、txtquenum.text) 18 then msgbox 身份证号长度不符!, , 查询司机档案 exit sub end if 生成查询语句 questr = select * from driverinfo where drivernum like % questr = questr & me.txtquenum.text & % 按性别查询 elseif me.optque(2).value = true then 生成查询语句 if me.optquesex(0).value = true then questr = select * from driverinfo

44、 where driversex = 0 else questr = select * from driverinfo where driversex = -1 end if 按工号查询 elseif me.optque(3).value = true then questr = select * from driverinfo where driverworknum = questr = questr & val(me.txtqueworknum.text)按备注查询 elseif me.optque(4).value = true then 替换单引号 remark = repla

45、ce(trim(me.txtqueremark.text), , ) 生成查询语句 questr = select * from driverinfo where remark like % questr = questr & remark & % end if打开数据集 debug.print questr rsquery.open questr, dbcn, adopenstatic, adlockoptimistic 显示查询结果 if rsquery.eof then msgbox 数据库中没有符合要求的记录!, , 查询司机档案 exit sub end if me.

46、lvresult.visible = true me.cmdback.visible = true 清空列表 me.lvresult.listitems.clear 数据集指针指向第一个记录 rsquery.movefirst for i = 1 to rsquery.recordcount set ltitm = me.lvresult.listitems.add() ltitm.text = rsquery.fields(driverid).value ltitm.subitems(1) = rsquery.fields(drivername).value ltitm.subitems(2

47、) = rsquery.fields(drivernum).value if rsquery.fields(driversex).value = 0 then ltitm.subitems(3) = 男 else ltitm.subitems(3) = 女 end if ltitm.subitems(4) = rsquery.fields(driverbir).value ltitm.subitems(5) = rsquery.fields(driverworknum).value ltitm.subitems(6) = rsquery.fields(drivertel).value ltit

48、m.subitems(7) = rsquery.fields(driverteam).value ltitm.subitems(8) = rsquery.fields(driverlicencenum).value ltitm.subitems(9) = rsquery.fields(driverlicencedate).value if rsquery.fields(remark).value then ltitm.subitems(10) = rsquery.fields(remark).value end if 数据集指针指向下一条记录 rsquery.movenext next i 关

49、闭数据集 rsquery.close end sub运输行业管理系统运输行业管理系统车辆档案管理模块 formcar borderstype 1 mdichild truetxtcarnum: 车号 txtteam、: 隶属车队dtpbuy :购买日期txtremark:备注optcheck(0):是否年检 是optcheck(1):是否年检 否optins(0):是否车险 是optins(1):是否车险 否datagrid1:adodc1:optque(0):按车号查询optque(1):按是否年检查询optque(2):按是否车险查询optque(3):按备注查询optquecheck(0

50、):是否车险 是optquecheck(1):是否车险 否optqueins(0):是否年检 是optqueins(0):是否年检 否lvresult:车辆档案管理窗体控件运输行业管理系统运输行业管理系统车辆档案管理模块 private sub form_load() 初始化ado控件,连接数据库,设置列首 adodc1.connectionstring = cnstr adodc1.recordsource = select carid as 车辆id, & _ carnum as 车号, & _ carteam as 隶属车队名, & _ cardate as 购买日期, & _ carcheck as 年检, & _ carins as 车险, & _ remark as 备注 & _ from carinfo debug.print adodc1.recordsource set datagrid1.datasource = adodc1 不能缺少 me.lvresult.visible = falseend sub运输行业管理系统运输行业管理系统车辆档案管理模块 备注项可选 if me.txtremark.text = vbnullstring then 没有备注项 sqlstr = inser

温馨提示

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

评论

0/150

提交评论