《论文物流管理系统毕业设 计论文 范文(定稿)》.doc_第1页
《论文物流管理系统毕业设 计论文 范文(定稿)》.doc_第2页
《论文物流管理系统毕业设 计论文 范文(定稿)》.doc_第3页
《论文物流管理系统毕业设 计论文 范文(定稿)》.doc_第4页
《论文物流管理系统毕业设 计论文 范文(定稿)》.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

论文物流管理系统毕业设 计论文 范文(定稿) 物流管理系统学院专业班级学号姓名指导教师教师职称2年月日摘要【摘要】随着市场经济的高速发展,制造业、商业企业逐步接受着第三方物流服务。 越来越多的企业认识到物流企业外包是降低成本、提高服务水平的有效渠道。 物流管理的特点是以客户为核心、构建面向客户的业务流程支持各种形式、各种需求的现在企业中的业务模式。 系统支持多形式客户的数据共享、提高作业效率、监控整个流程、提供完整的货品、进行订单跟踪,并且特别关注对各环节业务的监控及例外情况的监控。 目前,我国各类物流企业有14万家左右,展望整个21世纪,可以说现代物流业还将有更大的发展。 在发达国家,物流理论促使物流实践快速发展。 经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。 传统物流行业的操作模式已经不适应现代的物流行业,如何缩短物流过程,降低产品库存,加速对市场的反应,这是所有企业所面对的问题。 本系统就是针对这些问题根据中小型企业的实际需求而开发的一套物流管理系统。 系统的开发能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。 物流管理系统是集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统,系统的开发实现了商品从原料供应商、制造商、分销商到零售商再到消费者的各个环节的有机结合。 21系统分析1.1需求分析通过市场调查,要求本系统具有以下功能?统一友好的操作界面,能保证系统的易用性。 ?规范、完善的基础信息设置。 ?灵活的报表设计及打印功能。 ?实现货物申请、托运、跟踪与验收的全过程。 ?全方位的信息查询功能。 ?系统日志详细记录各种操作,提供追查的有力依据。 ?完善的权限管理,增强系统的安全性。 ?强大的数据备份及恢复功能,保证系统数据的安全性。 1.2可行性分析由于传统物流行业操作过程复杂,手续繁多,业务信息多,围绕这些信息的处理也很纷杂。 而且,物流行业竞争激烈,这种竞争,一方面表现在发展客户的市场开拓上,另一方面也存在于收集处理信息的速度、广度和深度,以及在业务操作中对业务数据处理的准确性和严密性,而更高层次上,还牵涉到公司决策层对整体业务的控制和协调。 物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,3保证物流运作有序而高效的进行。 2总体设计2.1项目规划物流管理系统是一个典型的数据库管理系统,系统由基本信息设置、货物托运管理、信息查询、报表管理、系统管理等模块组成,规划系统功能模块如下?基本信息设置模块该模块主要负责完成部门资料设置、职务信息设置、公司资料设置、员工资料设置、客户资料设置、司机资料设置和车辆资料设置。 ?货物托运管理模块该模块主要由车辆调度安排、托运申请单管理、货物托运单管理、货物验收单管理和车辆配送跟踪记录单管理几部分组成。 ?信息查询模块该模块由货物申请单查询、车辆调度信息查询、货物托运信息查询、货物托运验收查询和车辆在途跟踪查询几部分组成。 ?报表管理模块包括货物申请单报表、货物托运单报表和货物验收单报表3部分。 ?系统管理模块包括查看日志、删除日志、用户管理、数据备份、数据恢复和系统数据清理几部分。 42.2系统功能结构图物流管理系统的系统功能结构图如图1所示。 图1系统功能结构图3详细设计3.1系统登录设计系统登录主要用于对登录物流管理系统的用户进行安全性检查,以防止非法用户登录该系统。 根据给管理员分配的权限,登录用户可以根据自己所具有的权限操作系统中相应的功能。 在登录系统时验证操作员及其密码,主要通过ADO控件中记录集(RecordSet)对象结合If5语句判断用户选定的操作员及其输入的密码与数据库中的操作员和密码是否相同来实现,如果相同则允许登录,并给予相应的权限,否则将不允许用户登录。 系统登录的运行结果如图2所示。 图2系统登录窗体的运行结果1窗体设计 (1)在工程中新建1个窗体,将窗体的名称设置为“frm_xtdl”,BorderStyle属性设置为“0-None”,通过设置Picture属性为窗体添加图片。 (2)在窗体上添加Adodc控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。 添加方法如下在“工程”/“部件”对话框中勾选“Microsoft AdoData Controls6.0(SP4)”列表项,单击【确定】按钮之后即可将Ado控件添加到工具箱当中。 (3)在窗体中添加1个ComboBox控件和文本框控件,分别设置名称为Name属性为“Cbx_Name”和“txt_Password”,设置BorderStyle属性为“0-None”,将ComboBox控件的Text属性设置为“MR”。 (4)在窗体中添加2个CommandButton控件,分别将Name属性设置为“Cmd_Ok”和“Cmd_Cancel”,Caption属性设置为“登录”和“取消”。 6登录窗体的设计结果如图3所示图3系统登录窗体的设计界面2代码设计在代码窗口的声明部分定义如下变量Dim itmXAs ListItem定义一个ListItem对象Dim keyAs String定义字符串变量在窗体装载事件中,通过ADO控件的ConnectionString属性建立数据库连接,同时将所有操作员的姓名添加到Cbx_Name控件当中,代码如下Private SubForm_Load()Call WHScreen调用获取屏幕分辨率的过程函数使用代码连接数据库与数据表Adodc1.ConnectionString=PublicStr Adodc1.RecordSource=select*from tb_userAdodc1.Refresh If Adodc1.Recordset.RecordCount0Then Adodc1.Recordset.MoveFirst7Cbx_Name.Clear在添加数据时,首先清空控件中的内容Do WhileAdodc1.Recordset.EOF=False将操作员信息添加到ListView控件当中Cbx_Name.AddItem(Adodc1.Recordset.Fields(user_name)Adodc1.Recordset.MoveNext LoopEnd IfIf TWidth=800Or THeigth0Then MPassword=Adodc1.Recordset.Fields(user_mm)If Txt_Password.Text=MPassword Then判断数据的密码是否正确Name1=Cbx_Name.Text Frm_Main.StatusBar1.Panels.Item (2).Text=当前操作员+Adodc1.Recordset.Fields(user_name)Frm_Main.Show通过身份验证则显示主窗体,登录到系统当中Unload MeElse MsgBox密码不正确,请您确认后重新输入,提示信息Txt_Password.Text=Txt_Password.SetFocus End If ElseMsgBox对不起没有此用户的信息,提示信息9Cbx_Name.Text=Txt_Password.Text=End If End If End Sub如果在输入密码的文本框中按下Enter键,则将调用【确定】按钮的单击事件,判断登录用户是否合法,代码如下所示。 Private SubTxt_Password_KeyDown(KeyCode AsInteger,Shift AsInteger)If KeyCode=13Then CallCmd_Ok_Click调用确定按钮的单击事件代码End IfEnd Sub3.2车辆调度安排车辆调度安排是物流管理过程中的重要环节,物流公司在接到托运货物信息之后,首要的问题是安排托运货物的车辆。 在本系统当中通过车辆调度安排填写安排托运车辆的信息,然后打印出车辆调度通知单,并将通知单发放到托运司机的手中,司机根据调度通知单上的信息执行托运任务。 通过单击窗体中的Cmd_Select按钮选择车牌号码,然后输入其他一些辅助的信息,最后保存车辆调度安排信息。 车辆调度安排模块的运行结果如图4所示。 10图4车辆调度安排窗体的运行结果1窗体设计 (1)在工程中新建1个窗体,将窗体的名称设置为“frm_Cldd”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置False。 (2)在窗体上添加1个Toolbar控件和1个ImageList控件。 (3)在窗体的Toolbar控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属性页”对话框中设置窗体的工具栏,设计完成的工具栏如图5所示。 (4)在窗体中添加1个Frame控件,在Frame控件上添加1个文本框控件数组,并为每个文本框控件配置1个标签控件,并且设置相应的Caption属性值,如图5所示。 (5)在窗体上添加1个DTPicker控件,命名为DT1,用于输入或显示托运司机执行任务的日期时间。 (6)在窗体上添加1个Ado控件和1个DataGrid控件,将DataGrid控件的名称设置为Dgr_Sjll,DataSource属性设置为Adodc1,AllowUpdate属性值设置为False。 (7)在窗体中添加1个标签控件,命名为Lbl_Num。 11 (8)在窗体上添加1个时钟控件Timer1,在属性窗口中将控件的Interval属性值设置为60。 车辆调度安排窗体的设计结果如图5所示。 图5车辆调度安排窗体的设计结果2代码设计工具栏中的控制按钮控制着窗体的各项操作,在Toolbar控件Tbr_xxcz的ButtonClick事件当中,通过选择Select Case语句的索引值(单击工具栏中的按钮执行相应的索引值)调用相应的过程来完成添加、删除、修改和保存等操作的功能,保存过程事件的代码如下Private SubSaves()保存信息的过程If Text1 (0).Text=Or Text1 (3).Text=Then MsgBox重要信息不能为空值,48,提示信息Else AdoRs.Openselect*from tb_Goods_cldd where cldd_cphm=+Text1 (0).Text+,Cnn,adOpenKeyset If AdoRs.RecordCount0Then12MsgBox该信息已经存在,48,提示信息AdoRs.Close关闭记录集对象Else AdoRs.Close关闭记录集对象c=MsgBox(确认保存信息吗,33,提示信息)If c=vbOK ThenSet AdoRs=Cnn.Execute(insert intotb_Goods_cldd values(&Txt_id&,&Text1 (0)&,&Text1 (1)&,&Text1 (2)&,&Text1 (3)&,&Str(DT1.Value)&,&Text1 (4)&,&Text1 (5)&,&Txt_bz&)MsgBox数据保存成功,64,提示信息Else End IfAdodc1.RecordSource=select*from tb_Goods_cldd order by cldd_idAdodc1.Refresh Call DBGCon End If Call Tbr_cortrol(Tbr_xxcz,True)End IfEnd Sub用户自定义修改信息过程事件的代码如下13Private SubEdits()修改信息的过程c=MsgBox(确认修改信息吗,33,提示信息)If c=vbOK ThenSet AdoRs=Cnn.Execute(UPDATE tb_Goods_cldd SETcldd_id=+Txt_id+,cldd_cphm=+Text1 (0)+,cldd_czxm=+Text1 (1)+,cldd_sjxm=+Text1 (2)+,cldd_rwsj=+Str(DT1.Value)+,cldd_phmc=+Text1 (4)+,cldd_shdd=+Text1 (5)+,cldd_bz=+Txt_bz+wherecldd_id=+Txt_id.Text+)MsgBox数据修改成功,64,提示信息Adodc1.RecordSource=select*from tb_Goods_cldd order by cldd_idAdodc1.Refresh StrId=Txt_id.Text StrTitle=Text1 (0).Text CalljoinRZ添加修改信息日志Call DBGConElse End IfEnd Sub用户自定义删除信息过程事件的代码如下Private SubDeletes()删除信息14c=MsgBox(确认删除该信息吗,17,提示信息)If c=vbOK ThenOn ErrorResume Next执行错误处理Set AdoRs=Cnn.Execute(Delete tb_Goods_cldd from tb_Goods_cldd wherecldd_id=+Txt_id.Text+)Adodc1.Refresh刷新数据信息End IfFor i=0To5Text1(i).Text=Next iTxt_bz.Text=End Sub3.3托运申请单管理在正式托运货物之前,需要进行托运货物申请,在进行托运货物申请时需要填写托运货物申请单,托运申请单经过核对之后,才可以填写货物托运单进行托运货物。 在托运申请单中记录的托运货物的详细信息,以便托运货物时进行核对。 货物托运申请管理模块的运行结果如图6所示。 15图6货物托运申请管理模块运行结果1窗体设计 (1)在工程中新建1个窗体,将窗体的名称设置为“frm_Tysq”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置“False”。 (2)在窗体上添加1个Toolbar控件和1个ImageList控件,为窗体设计工具栏。 (3)在窗体中添加1个Frame控件,在Frame控件上添加1个文本框控件数组,并为每个文本控件配置1个标签控件,设置相应的Caption属性值,如图7所示。 (4)在Frame控件上添加2个DTPicker控件,分别名称命名为DT1和DT2,用于输入或显示出货日期时间和开票日期。 (5)在窗体上添加1个Ado控件。 (6)在窗体中添加1个标签控件,命名为Lbl_Num。 (7)在窗体上添加1个时钟控件Timer1,在属性窗口中将控件的Interval属性值设置为60。 货物托运申请单管理窗体的设计结果如图7所示。 16图7货物托运管理窗体的设计结果2代码设计当窗体启动时,锁定窗体中文本框,禁止输入字符信息,同时通过Ado控件的ConnectionString属性连接到数据库,实现代码如下Private SubForm_Load()Call LoadFile在窗体加载的时候显示数据信息For i=1To20Text1(i).Locked=True锁定文本框,禁止输入字符信息Next iAdodc1.ConnectionString=PublicStr通过代码连接到数据库Adodc1.RecordSource=select*from tb_Goods_sqd order by sqd_lszhAdodc1.Refresh DT1.Value=Date Call Tbr_cortrol(Tbr_xxcz,True)17End Sub单击窗体中的工具栏按钮,完成相应的添加、删除、修改、保存和打印的操作,Toolbar控件Tbr_xxcz的ButtonClick事件代码如下所示Private SubTbr_xxcz_ButtonClick(ByVal ButtonAs MSComctlLib.Button)Select CaseButton.Index Case1添加信息Call Tbr_cortrol(Tbr_xxcz,False)For i=0To20Text1(i).Locked=False Text1(i).Text=Next iText1 (0).SetFocus AdoRs.Openselect*from tb_Goods_sqd wheresqd_lszh like%+Format(Date,yyyymmdd)+%order bysqd_lszh,Cnn,adOpenKeyset根据日期产生流水账号If AdoRs.RecordCount0Then AdoRs.MoveLast Txt_id.Text=Val(AdoRs.Fields(sqd_lszh)+1Else Txt_id.Text=Format(Date,yyyymmdd)&0000001End If18AdoRs.Close Case2删除信息Call DeletesCase3修改信息Call EditsCase4保存信息Call SavesCase5Call Tbr_cortrol(Tbr_xxcz,True)For i=1To20Text1(i).Text=Text1 (1).SetFocus Next i Case6打印信息Unload MeEnd SelectEnd Sub通过文本框的Change事件,来实现在另一个文本框中自动计算合计金额的功能,实现的具体代码如下所示Private SubText1_Change(Index AsInteger)19If Index=7Then Text1 (15).Text=Val(Text1 (7).Text)+Val(Text1 (11).Text)ElseIf Index=11Then Text1 (15).Text=Val(Text1 (7).Text)+Val(Text1 (11).Text)ElseIf Index=15Then Text1 (15).Text=Val(Text1 (7).Text)+Val(Text1 (11).Text)End IfEnd Sub3.4货物托运管理货物托运管理是本系统的核心,在货物托运申请完成之后,就可以填写货物托运单,托运司机根据货物托运单将货物托运到客户手中。 对于同一张货物托运单,可以托运多种不同的货物,在托运管理窗体中可以添加或删除托运货物,还可以通过ListView控件浏览货物托运单信息。 货物托运管理模块的运行结果如图8所示,单击工具栏中的【添加货物】按钮,将弹出增加托运货物窗体,如图9所示。 20图8货物托运管理模块的运行结果图9增加托运货物窗体1货物托运窗体及增加托运货物窗体的设计 (1)在工程中新建一个窗体,将窗体的名称设置为“frm_Hpty”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置False。 (2)在窗体上添加Toolbar控件,根据前面所介绍的方法为窗体设计工具栏。 (3)在窗体中添加2个ImageList控件。 (4)在窗体上添加1个ListView控件。 (5)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属21性页”对话框中选择“通用”选项卡,在该选项卡中选取“整行选择”、“网格行”和“热跟踪”等复选框,在“查看”旁的列表框中选择3-lvwReport,如图10所示。 图10设置控件的显示模式 (6)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出“属性页”对话框中选择“列首”选项卡,在该选项卡中单击【插入列】按钮,然后在“文本”文本框中输入插入列的标题名称,在“宽度”文本框中输入插入列的宽度,如图11所示。 图11设置插入列的属性 (7)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属22性页”对话框中选择“图像列表”选项卡,在该选项卡中的“普通”和“列标头”列表框中分别选择“ImageList2”,如图12所示。 图12连接ImageList2控件 (8)在窗体上添加1个Ado控件。 (9)在窗体中添加3个Frame控件,分别在Frame控件中添加文本框控件和DataGrid控件,将DataGrid控件的名称设置为Dgr_Sjll,DataSource属性设置为Adodc1,BackColor属性值设置为&H00FFFFC0&,设计完成的界面如图13所示。 (10)在窗体中添加1个标签控件,名称命名为Lbl_Num。 (11)在窗体上添加1个时钟控件Timer1,在属性窗口中将控件的Interval属性值设置为60。 货物托运管理窗体的设计结果如图13所示。 23图13货物托运管理窗体的设计界面 (12)在工程中添加1个窗体,将窗体命名为Frm_Tyhwgl,该窗体作为货物托运管理的子窗体,用于为完成为货物托运单添加托运货物的操作。 (13)将该窗体的BorderStyle属性设置为“1-Fixed Single”。 (14)在该窗体上添加1个Ado控件。 (15)在该窗体中添加1个Frame控件,在Frame控件中添加文本框控件和标签控件。 (16)在该窗体中添加1个DataGrid控件,将DataGrid控件的名称设置为Dgr_Sjll,DataSource属性设置为Adodc1,设计完成的界面如图14所示。 (17)在窗体上添加4个CommandButton控件,分别将控件的名称命名为“Cmd_Add”、“Cmd_Save”、“Cmd_Del”、“Cmd_Cancel”,Caption属性设置为“添加”、“保存”、“删除”、“取消”。 24图14托运货物管理窗体的设计界面2货物托运管理窗体的代码设计在窗体启动时,通过调用LoadFile过程,在窗体上显示数据,同时利用Ado对象计算出当前数据库中数据记录的条数,代码如下Private SubForm_Load()Call RefreshDataCall LoadFileFor i=1To21锁定文本框,禁止输入内容Text1(i).Locked=True Next i AdoRs.Openselect*from tb_Goods_tyd order by tyd_tydh,Cnn,adOpenKeyset If AdoRs.RecordCount0Then Lbl_Num.Caption=当前数据表中共有&AdoRs.RecordCount&条记录End If AdoRs.Close25Call Tbr_cortrol(Tbr_xxcz,True)End Sub单击工具栏中的控制按钮,通过Select Case语句控制工具栏中的按钮,完成添加、删除、修改、保存、添加货物和删除货物等操作,实现的代码如下Private SubTbr_xxcz_ButtonClick(ByVal ButtonAs MSComctlLib.Button)Select CaseButton.Index Case1CallTbr_cortrol(Tbr_xxcz,False)For i=0To21Text1(i).Locked=False Text1(i).Text=Next iText1 (0).SetFocus根据日期产生流水账号AdoRs.Openselect*from tb_Goods_tyd wheretyd_tydh like%+Format(Date,yyyymmdd)+%orderbytyd_tydh,Cnn,adOpenKeyset IfAdoRs.RecordCount0Then AdoRs.MoveLast Txt_id.Text=Val(AdoRs.Fields(tyd_tydh)+1Else26Txt_id.Text=Format(Date,yyyymmdd)&00001End IfAdoRs.Close Case2删除信息Call DeletesCase3修改信息Call EditsCase4保存信息Call SavesCase5CallTbr_cortrol(Tbr_xxcz,True)For i=1To21Text1(i).Text=Text1 (1).SetFocus Next i Case6添加货物TStrs=Txt_id.Text Frm_Tyhwgl.Cmd_Del.Enabled=False使添加货物窗体中的“删除”按钮不可用Frm_Tyhwgl.Show1Case7删除货物27TStrs=Txt_id.Text Frm_Tyhwgl.Cmd_Add.Enabled=False Frm_Tyhwgl.Cmd_Save.Enabled=False Frm_Tyhwgl.Show1Case8Unload MeEnd SelectEnd Sub通过单击选择ListView控件中的元素(托运单号),然后调用DataLoad过程在窗体上显示相对应托运单号的数据信息,同时查询该记录是否被修改过,如果修改过则将修改时间及修改人信息显示在窗体的Txt_ysrq和Txt_ysr文本框当中,代码如下所示Private SubListView1_Click()AdoRs.Openselect*from tb_Goods_tyd wheretyd_tydh=&ListView1.SelectedItem&orderbytyd_tydh,Cnn,adOpenKeyset IfAdoRs.RecordCount0Then CallDataLoad调用显示数据的过程End IfAdoRs.Close关闭数据集对象AdoRs1.Openselect*from tb_Goods_khys wherekhys_tydh=&ListView1.SelectedItem&,Cnn,adOpenKeyset28IfAdoRs1.RecordCount0Then Txt_ysrq.Text=AdoRs1.Fields(khys_ysrq)Txt_ysr.Text=AdoRs1.Fields(khys_ysr)Else Txt_ysrq.Text=Txt_ysr.Text=End IfAdoRs1.Close CallShowData调用数据刷新的过程Call DBGConEnd Sub通过时钟控件,将当前数据库中的记录条数显示在标签控件Lbl_Num当中,实现的代码如下所示Private SubTimer1_Timer()On ErrorResume Next执行错误处理的语句Lbl_Num.Caption=当前数据表中共有&AdoRs.RecordCount&条记录End Sub3添加托运货物信息窗体的代码设计在增加托运货物窗体中单击【添加】按钮,清空窗体中文本框的信息,代码如下Private SubCmd_Add_Click()29For i=1To4Text1(i).Text=NextiText1 (1).SetFocus End Sub在窗体中单击【保存】按钮,在确认该货物信息没有被保存之后,保存所添加的货物信息,同时刷新窗体中的数据信息,代码如下Private SubCmd_Save_Click()If Text1 (0).Text=Then MsgBox托运单号不能为空,64,提示信息Else AdoRs.Openselect*from tb_Goods_hwzx wherehwzx_hwid=+Text1 (1)+,Cnn,adOpenKeyset IfAdoRs.RecordCount0Then MsgBox该货物已经添加过,64,提示信息Else c=MsgBox(确认保存信息吗,33,提示信息)If c=vbOK ThenSet AdoRs=Cnn.Execute(insert intotb_Goods_hwzx values(&Text1 (1)&,&Text1 (2)&,&Text1 (0)&,&Text1 (3)&,&Text1 (4)30&)MsgBox数据保存成功,64,提示信息Adodc1.RecordSource=select*from tb_Goods_hwzx wherehwzx_sqdh=+Text1 (0)+orderbyhwzx_hwidAdodc1.Refresh Call DBGCon Cmd_Add.SetFocus End IfEnd IfAdoRs.Close End IfEnd Sub3.5在途跟踪管理在途跟踪是对正在托运的货物信息进行管理,托运司机在托运货物的过程中,每到一个地方或者在托运过程中出现某些异常情况,就会给托运公司反馈一个信息,托运公司将反馈回来的信息进行记录,并且对反馈回来的异常情况进行处理,这个过程就是在途跟踪。 在途跟踪管理模块的运行结果如图15所示。 31图15在途跟踪管理模块运行结果1窗体设计 (1)在工程中新建1个窗体,将窗体的名称设置为“Frm_Ztgz”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置False。 (2)在窗体上添加1个Toolbar控件和1个ImageList控件。 (3)在窗体上添加1个ListView控件。 (4)在窗体上添加1个Ado控件。 (5)在窗体中添加3个Frame控件,在Frame控件中添加文本框控件,并设置控件的相关属性。 (6)在窗体上添加DataGrid控件,将DataGrid控件的名称设置为Dgr_Sjll,DataSource属性设置为Adodc1。 在途跟踪管理窗体的设计结果如图16所示。 32图16在途跟踪管理窗体的设计2代码设计通过单击选择ListView控件中的元素(托运单号),在窗体中即可以显示相对应托运单号的数据信息,同时查询tb_Goods_ztgzlx数据表,从中检索出该托运单号的跟踪路线信息,将其显示在窗体的Txt_lx.文本框当中,实现的代码如下所示Private SubListView1_Click()AdoRs.Openselect*from tb_Goods_ztgz whereztgz_cydh=&ListView1.SelectedItem&orderby ztgz_cydh,Cnn,adOpenKeyset IfAdoRs.RecordCount0Then Text1 (0).Text=AdoRs.Fields(ztgz_id)Text1 (1).Text=AdoRs.Fields(ztgz_cydh)Text1 (2).Text=AdoRs.Fields(ztgz_sjxm)Text1 (3).Text=AdoRs.Fields(ztgz_cphm)DT1.Value=AdoRs.Fields(ztgz_dasj)Text1 (4).Text=AdoRs.Fields(ztgz_sjsj)33Text1 (5).Text=AdoRs.Fields(ztgz_dadd)Text1 (6).Text=AdoRs.Fields(ztgz_bz)End IfAdoRs.Close关闭记录集对象AdoRs1.Openselect*from tb_Goods_ztgzlx where ztgzlx_tydh=&ListView1.SelectedItem&,Cnn,adOpenKeyset IfAdoRs1.RecordCount0Then Txt_lx.Text=AdoRs1.Fields(ztgzlx_lx)End IfAdoRs1.Close关闭记录集对象Adodc1.RecordSource=select*from tb_Goods_ztgz whereztgz_cydh=+ListView1.SelectedItem+Adodc1.Refresh刷新数据信息CallDBGCon给DataGrid控件的列标题赋值EndSub在工具栏中单击【保存】按钮将调用用户自定义的保存过程,保存在途跟踪信息,用户自定义的保存过程的代码如下Private SubSaves()保存信息的过程If Text1 (1).Text=Then MsgBox托运单号不能为空,48,提示信息34Else AdoRs2.Openselect*from tb_Goods_ztgz whereztgz_id=+Text1 (0)+,Cnn,adOpenKeyset IfAdoRs2.RecordCount0Then MsgBox该信息已经存在,48,提示信息Else c=MsgBox(确认保存信息吗,33,提示信息)If c=vbOK ThenSet AdoRs=Cnn.Execute(insert intotb_Goods_ztgz values(&Text1 (0)&,&Text1 (1)&,&Text1 (2)&,&Text1 (3)&,&Text1 (4)&,&Text1 (5)&,&Str(DT1.Value)&,&Text1 (6)&)AdoRs.Openselect*from tb_Goods_ztgzlx whereztgzlx_tydh=+Text1 (1)+,Cnn,adOpenKeyset IfAdoRs.RecordCount0Then CallDDTJ统计到达的路线Set AdoRs=Cnn.Execute(UPDATE tb_Goods_ztgzlx SETztgzlx_lx=+Txt_lx+whereztgzlx_tydh=+Text1 (1).Text+)Else CallDDTJ统计到达的路线35Set AdoRs=Cnn.Execute(insert intotb_Goods_ztgzlx values(&Text1 (1)&,&Txt_lx&)EndIfMsgBox数据保存成功,64,提示信息EndIfAdodc1.RecordSource=select*from tb_Goods_ztgz orderbyztgz_idAdodc1.Refresh CallDBGCon CallTbr_cortrol(Tbr_xxcz,True)EndIfAdoRs2.Close EndIf Call RefreshData EndSub在工具栏中单击【删除】按钮将调用用户自定义的删除过程,删除在途跟踪信息,用户自定义删除在途跟踪过程的代码如下Private SubDeletes()删除信息c=MsgBox(确认删除该信息吗,17,提示信息)If c=vbOK ThenOn ErrorResume Next36Set AdoRs=Cnn.Execute(Delete tb_Goods_ztgz from tb_Goods_ztgz whereztgz_id=+Text1 (0).Text+)Adodc1.Refresh刷新数据信息CallDBGConEndIfFor i=1To5Text1(i).Text=NextiCbx_xb.Text=清除列表控件的内容CallRefreshDataEndSub在保存在途跟踪信息的时候,需要调用用户自定义的DDTJ过程,完成在文本框Txt_lx中显示跟踪路线信息的功能,DDT

温馨提示

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

评论

0/150

提交评论