谁有物流管理系统论文或资料,本人正在搞论文,需要资料,有的话请发给我,非常感谢!
谁有物流管理系统论文或资料,本人正在搞论文,需要资料,有的话请发给我,非常感谢!我的邮箱479163227@qq.com...
谁有物流管理系统论文或资料,本人正在搞论文,需要资料,有的话请发给我,非常感谢!我的邮箱479163227@qq.com
展开
展开全部
【摘要】
随着市场经济的高速发展,制造业、商业企业逐步接受着第三方物流服务。越来越多的企业认识到物流企业外包是降低成本、提高服务水平的有效渠道。物流管理的特点是以客户为核心、构建面向客户的业务流程支持各种形式、各种需求的现在企业中的业务模式。系统支持多形式客户的数据共享、提高作业效率、监控整个流程、提供完整的货品、进行订单跟踪,并且特别关注对各环节业务的监控及例外情况的监控。物流管理系统是集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统,系统的开发实现了商品从原料供应商、制造商、分销商到零售商再到消费者的各个环节的有机结合。1 系统分析1.1 需求分析通过市场调查,要求本系统具有以下功能:
统一友好的操作界面,能保证系统的易用性。规范、完善的基础信息设置。灵活的报表设计及打印功能。实现货物申请、托运、跟踪与验收的全过程。全方位的信息查询功能。系统日志详细记录各种操作,提供追查的有力依据。完善的权限管理,增强系统的安全性。强大的数据备份及恢复功能,保证系统数据的安全性。1.2 可行性分析 由于传统物流行业操作过程复杂,手续繁多,业务信息多,围绕这些信息的处理也很纷杂。而且,物流行业竞争激烈,这种竞争,一方面表现在发展客户的市场开拓上,另一方面也存在于收集处理信息的速度、广度和深度,以及在业务操作中对业务数据处理的准确性和严密性,而更高层次上,还牵涉到公司决策层对整体业务的控制和协调。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序而高效的进行。2 总体设计2.1 项目规划 物流管理系统是一个典型的数据库管理系统,系统由基本信息设置、货物托运管理、信息查询、报表管理、系统管理等模块组成,规划系统功能模块如下:基本信息设置模块该模块主要负责完成部门资料设置、职务信息设置、公司资料设置、员工资料设置、客户资料设置、司机资料设置和车辆资料设置。货物托运管理模块该模块主要由车辆调度安排、托运申请单管理、货物托运单管理、货物验收单管理和车辆配送跟踪记录单管理几部分组成。信息查询模块该模块由货物申请单查询、车辆调度信息查询、货物托运信息查询、货物托运验收查询和车辆在途跟踪查询几部分组成。报表管理模块
包括货物申请单报表、货物托运单报表和货物验收单报表3部分。系统管理模块
包括查看日志、删除日志、用户管理、数据备份、数据恢复和系统数据清理几部分。
2.2 系统功能结构图3 详细设计3.1 系统登录设计系统登录主要用于对登录物流管理系统的用户进行安全性检查,以防止非法用户登录该系统。根据给管理员分配的权限,登录用户可以根据自己所具有的权限操作系统中相应的功能。在登录系统时验证操作员及其密码,主要通过ADO控件中记录集(RecordSet)对象结合If语句判断用户选定的操作员及其输入的密码与数据库中的操作员和密码是否相同来实现,如果相同则允许登录,并给予相应的权限,否则将不允许用户登录。
1.窗体设计(1)在工程中新建1个窗体,将窗体的名称设置为“frm_xtdl”,BorderStyle属性设置为“0-None”,通过设置Picture属性为窗体添加图片。(2)在窗体上添加Adodc控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下:
在“工程”/“部件”对话框中勾选“Microsoft Ado Data Controls 6.0(SP4)”列表项,单击【确定】按钮之后即可将Ado控件添加到工具箱当中。(3)在窗体中添加1个ComboBox控件和文本框控件,分别设置名称为Name属性为“Cbx_Name”和“txt_Password”,设置BorderStyle属性为“0-None”,将ComboBox控件的Text属性设置为“MR”。(4)在窗体中添加2CommandButton控件,分别将Name属性设置为“Cmd_Ok”和“Cmd_Cancel”,Caption属性设置为“登录”和“取消”。2.代码设计在代码窗口的声明部分定义如下变量:Dim itmX As ListItem '定义一个ListItem对象Dim key As String '定义字符串变量在窗体装载事件中,通过ADO控件的ConnectionString属性建立数据库连接,同时将所有操作员的姓名添加到Cbx_Name控件当中,代码如下:Private Sub Form_Load() Call WHScreen '调用获取屏幕分辨率的过程函数
'使用代码连接数据库与数据表Adodc1.ConnectionString = PublicStr
Adodc1.RecordSource = "select * from tb_usAdodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
Cbx_Name.Clear '在添加数据时,首先清空控件中的内容
Do While Adodc1.Recordset.EOF = False '将操作员信息添加到ListView控件当中
Cbx_Name.AddItem (Adodc1.Recordset.Fields("user_name"))
Adodc1.Recordset.MoveNext
Loop End If If TWidth <= 800 Or THeigth <= 600 Then '判断屏Exit Sub
Else
ChangeScreen '调整屏幕分辨率
End If
End Sub
单击【确定】按钮,如果输入的操作员姓名和口令正确,则通过身份验证,登录到系统当中。设计思路:通过SQL语句查询输入的用户名和密码信息在数据库中是否存在,如果查询到符合条件的记录信息则显示系统主窗体,登录到系统当中,实现的程序代码如下:
Private Sub Cmd_Ok_Click()
Dim MPassword As String
If Cbx_Name.Text = "MR" And Txt_Password.Text = "mingrisoft" Then '判断是否使用的是超级口令登录
Frm_Main.StatusBar1.Panels.Item(2).Text = "当前操作员: MR"
Name1 = Cbx_Name.Text '将操作员姓名信息赋予全局变量Name1
Unload Me
Frm_Main.Show '显示系统主窗体
Else
Adodc1.RecordSource = "select * from tb_user where user_name ='" & Cbx_Name.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
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 Me
Else
MsgBox "密码不正确,请您确认后重新输入", , "提示信息"
Txt_Password.Text = ""
Txt_Password.SetFocus
End If
Else
MsgBox "对不起 没有此用户的信息", , "提示信息"
Cbx_Name.Text = ""
Txt_Password.Text = ""
End If
End If
End Sub
如果在输入密码的文本框中按下〈Enter〉键,则将调用【确定】按钮的单击事件,判断登录用户是否合法,代码如下所示。
Private Sub Txt_Password_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Call Cmd_Ok_Click '调用确定按钮的单击事件代码
End If
End Sub
3.2 车辆调度安排
车辆调度安排是物流管理过程中的重要环节,物流公司在接到托运货物信息之后,首要的问题是安排托运货物的车辆。在本系统当中通过车辆调度安排填写安排托运车辆的信息,然后打印出车辆调度通知单,并将通知单发放到托运司机的手中,司机根据调度通知单上的信息执行托运任务。通过单击窗体中的Cmd_Select按钮选择车牌号码,然后输入其他一些辅助的信息,最后保存车辆调度安排信息。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。
(8)在窗体上添加1个时钟控件Timer1,在属性窗口中将控件的Interval属性值设置为60。
2.代码设计
工具栏中的控制按钮控制着窗体的各项操作,在Toolbar控件Tbr_xxcz的ButtonClick事件当中,通过选择Select Case语句的索引值(单击工具栏中的按钮执行相应的索引值)调用相应的过程来完成添加、删除、修改和保存等操作的功能,保存过程事件的代码如下:
Private Sub Saves() '保存信息的过程
If Text1(0).Text = "" Or Text1(3).Text = "" Then
MsgBox "重要信息不能为空值", 48, "提示信息"
Else
AdoRs.Open "select * from tb_Goods_cldd where cldd_cphm='" +
Text1(0).Text + "'", Cnn, adOpenKeyset
If AdoRs.RecordCount > 0 Then
MsgBox "该信息已经存在", 48, "提示信息"
AdoRs.Close Else
AdoRs.Close c = MsgBox("确认保存信息吗", 33, "提示信息")
If c = vbOK Then
Set AdoRs = Cnn.Execute("insert into tb_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 If
Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id"
Adodc1.Refresh
Call DBGCon
End If
Call Tbr_cortrol(Tbr_xxcz, True)
End If
End Sub
用户自定义修改信息过程事件的代码如下:
Private Sub Edits() '修改信息的过程
c = MsgBox("确认修改信息吗", 33, "提示信息")
If c = vbOK Then
Set AdoRs = Cnn.Execute("UPDATE tb_Goods_cldd SET cldd_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 + "' where cldd_id='"
+ Txt_id.Text + "'")
MsgBox "数据修改成功", 64, "提示信息"
Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id"
Adodc1.Refresh
StrId = Txt_id.Text
StrTitle = Text1(0).Text
Call joinRZ Call DBGCon
Else
End If
End Sub
用户自定义删除信息过程事件的代码如下:
Private Sub Deletes() c = MsgBox("确认删除该信息吗", 17, "提示信息")
If c = vbOK Then
On Error Resume Next Set AdoRs = Cnn.Execute("Delete tb_Goods_cldd from tb_Goods_cldd where
cldd_id='" + Txt_id.Text + "'")
Adodc1.Refresh End If
For i = 0 To 5
Text1(i).Text = ""
Next i
Txt_bz.Text = ""
End Sub
3.3 托运申请单管理
在正式托运货物之前,需要进行托运货物申请,在进行托运货物申请时需要填写托运货物申请单,托运申请单经过核对之后,才可以填写货物托运单进行托运货物。在托运申请单中记录的托运货物的详细信息,以便托运货物时进行核对。
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。
2.代码设计
当窗体启动时,锁定窗体中文本框,禁止输入字符信息,同时通过Ado控件的ConnectionString属性连接到数据库,实现代码如下:
Private Sub Form_Load()
Call LoadFile For i = 1 To 20
Text1(i).Locked = True Next i
Adodc1.ConnectionString = PublicStr
Adodc1.RecordSource = "select * from tb_Goods_sqd order by sqd_lszh"
Adodc1.Refresh
DT1.Value = Date
Call Tbr_cortrol(Tbr_xxcz, True)
End Sub
单击窗体中的工具栏按钮,完成相应的添加、删除、修改、保存和打印的操作,Toolbar控件Tbr_xxcz的ButtonClick事件代码如下所示:
Private Sub Tbr_xxcz_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1 Call Tbr_cortrol(Tbr_xxcz, False)
For i = 0 To 20
Text1(i).Locked = False
Text1(i).Text = ""
Next i
Text1(0).SetFocus
AdoRs.Open "select * from tb_Goods_sqd where sqd_lszh like '%" + Format(Date, "yyyymmdd") + "%' order by sqd_lszh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then
AdoRs.MoveLast
Txt_id.Text = Val(AdoRs.Fields("sqd_lszh")) + 1
Else
Txt_id.Text = Format(Date, "yyyymmdd") & "0000001"
End If
AdoRs.Close
Case 2 Call Deletes
Case 3
Call Edits
Case 4
Call Saves
Case 5
Call Tbr_cortrol(Tbr_xxcz, True)
For i = 1 To 20
Text1(i).Text = ""
Text1(1).SetFocus
Next i
Case 6 Unload Me
End Select
End Sub
通过文本框的Change事件,来实现在另一个文本框中自动计算合计金额的功能,实现的具体代码如下所示:
Private Sub Text1_Change(Index As Integer)
If Index = 7 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
ElseIf Index = 11 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
ElseIf Index = 15 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
End If
End Sub
3.4 货物托运管理
货物托运管理是本系统的核心,在货物托运申请完成之后,就可以填写货物托运单,托运司机根据货物托运单将货物托运到客户手中。对于同一张货物托运单,可以托运多种不同的货物,在托运管理窗体中可以添加或删除托运货物,还可以通过ListView控件浏览货物托运单信息。
货物托运管理模块的运行结果如图8所示,单击工具栏中的【添加货物】按钮,将弹出增加托运货物窗体
1.货物托运窗体及增加托运货物窗体的设计
(1)在工程中新建一个窗体,将窗体的名称设置为“frm_Hpty”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置False。
(2)在窗体上添加Toolbar控件,根据前面所介绍的方法为窗体设计工具栏。
(3)在窗体中添加2个ImageList控件。
(4)在窗体上添加1个ListView控件。
(5)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属性页”对话框中选择“通用”选项卡,在该选项卡中选取“整行选择”、“网格行”和“热跟踪”等复选框,在“查看”旁的列表框中选择3-lvwReport
(6)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出“属性页”对话框中选择“列首”选项卡,在该选项卡中单击【插入列】按钮,然后在“文本”文本框中输入插入列的标题名称,在“宽度”文本框中输入插入列的宽度
(7)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属性页”对话框中选择“图像列表”选项卡,在该选项卡中的“普通”和“列标头”列表框中分别选(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。
(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属性设置为“添加”、“保存”、“删除”、“取消”。
3.5 在途跟踪管理在途跟踪是对正在托运的货物信息进行管理,托运司机在托运货物的过程中,每到一个地方或者在托运过程中出现某些异常情况,就会给托运公司反馈一个信息,托运公司将反馈回来的信息进行记录,并且对反馈回来的异常情况进行处理,这个过程就是在途跟踪。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。2.代码设计通过单击选择ListView控件中的元素(托运单号),在窗体中即可以显示相对应托运单号的数据信息,同时查询tb_Goods_ztgzlx数据表,从中检索出该托运单号的跟踪路线信息,将其显示在窗体的Txt_lx.文本框当中,实现的代码如下所示:Private Sub ListView1_Click() AdoRs.Open "select * from tb_Goods_ztgz where ztgz_cydh='" & ListView1.SelectedItem & "' order by ztgz_cydh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then 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(5).Text = AdoRs.Fields("ztgz_dadd") Text1(6).Text = AdoRs.Fields("ztgz_bz") End If AdoRs.Close AdoRs1.Open "select * from tb_Goods_ztgzlx where ztgzlx_tydh='" & ListView1.SelectedItem & "'", Cnn, adOpenKeyset If AdoRs1.RecordCount > 0 Then Txt_lx.Text = AdoRs1.Fields("ztgzlx_lx" End If AdoRs1.Close Adodc1.RecordSource = "select * from tb_Goods_ztgz where ztgz_cydh='" + ListView1.SelectedItem + "'" Adodc1.Refresh Call DBGCon '给DataGrid控件的列标题赋值End Sub
随着市场经济的高速发展,制造业、商业企业逐步接受着第三方物流服务。越来越多的企业认识到物流企业外包是降低成本、提高服务水平的有效渠道。物流管理的特点是以客户为核心、构建面向客户的业务流程支持各种形式、各种需求的现在企业中的业务模式。系统支持多形式客户的数据共享、提高作业效率、监控整个流程、提供完整的货品、进行订单跟踪,并且特别关注对各环节业务的监控及例外情况的监控。物流管理系统是集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统,系统的开发实现了商品从原料供应商、制造商、分销商到零售商再到消费者的各个环节的有机结合。1 系统分析1.1 需求分析通过市场调查,要求本系统具有以下功能:
统一友好的操作界面,能保证系统的易用性。规范、完善的基础信息设置。灵活的报表设计及打印功能。实现货物申请、托运、跟踪与验收的全过程。全方位的信息查询功能。系统日志详细记录各种操作,提供追查的有力依据。完善的权限管理,增强系统的安全性。强大的数据备份及恢复功能,保证系统数据的安全性。1.2 可行性分析 由于传统物流行业操作过程复杂,手续繁多,业务信息多,围绕这些信息的处理也很纷杂。而且,物流行业竞争激烈,这种竞争,一方面表现在发展客户的市场开拓上,另一方面也存在于收集处理信息的速度、广度和深度,以及在业务操作中对业务数据处理的准确性和严密性,而更高层次上,还牵涉到公司决策层对整体业务的控制和协调。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序而高效的进行。2 总体设计2.1 项目规划 物流管理系统是一个典型的数据库管理系统,系统由基本信息设置、货物托运管理、信息查询、报表管理、系统管理等模块组成,规划系统功能模块如下:基本信息设置模块该模块主要负责完成部门资料设置、职务信息设置、公司资料设置、员工资料设置、客户资料设置、司机资料设置和车辆资料设置。货物托运管理模块该模块主要由车辆调度安排、托运申请单管理、货物托运单管理、货物验收单管理和车辆配送跟踪记录单管理几部分组成。信息查询模块该模块由货物申请单查询、车辆调度信息查询、货物托运信息查询、货物托运验收查询和车辆在途跟踪查询几部分组成。报表管理模块
包括货物申请单报表、货物托运单报表和货物验收单报表3部分。系统管理模块
包括查看日志、删除日志、用户管理、数据备份、数据恢复和系统数据清理几部分。
2.2 系统功能结构图3 详细设计3.1 系统登录设计系统登录主要用于对登录物流管理系统的用户进行安全性检查,以防止非法用户登录该系统。根据给管理员分配的权限,登录用户可以根据自己所具有的权限操作系统中相应的功能。在登录系统时验证操作员及其密码,主要通过ADO控件中记录集(RecordSet)对象结合If语句判断用户选定的操作员及其输入的密码与数据库中的操作员和密码是否相同来实现,如果相同则允许登录,并给予相应的权限,否则将不允许用户登录。
1.窗体设计(1)在工程中新建1个窗体,将窗体的名称设置为“frm_xtdl”,BorderStyle属性设置为“0-None”,通过设置Picture属性为窗体添加图片。(2)在窗体上添加Adodc控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下:
在“工程”/“部件”对话框中勾选“Microsoft Ado Data Controls 6.0(SP4)”列表项,单击【确定】按钮之后即可将Ado控件添加到工具箱当中。(3)在窗体中添加1个ComboBox控件和文本框控件,分别设置名称为Name属性为“Cbx_Name”和“txt_Password”,设置BorderStyle属性为“0-None”,将ComboBox控件的Text属性设置为“MR”。(4)在窗体中添加2CommandButton控件,分别将Name属性设置为“Cmd_Ok”和“Cmd_Cancel”,Caption属性设置为“登录”和“取消”。2.代码设计在代码窗口的声明部分定义如下变量:Dim itmX As ListItem '定义一个ListItem对象Dim key As String '定义字符串变量在窗体装载事件中,通过ADO控件的ConnectionString属性建立数据库连接,同时将所有操作员的姓名添加到Cbx_Name控件当中,代码如下:Private Sub Form_Load() Call WHScreen '调用获取屏幕分辨率的过程函数
'使用代码连接数据库与数据表Adodc1.ConnectionString = PublicStr
Adodc1.RecordSource = "select * from tb_usAdodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
Cbx_Name.Clear '在添加数据时,首先清空控件中的内容
Do While Adodc1.Recordset.EOF = False '将操作员信息添加到ListView控件当中
Cbx_Name.AddItem (Adodc1.Recordset.Fields("user_name"))
Adodc1.Recordset.MoveNext
Loop End If If TWidth <= 800 Or THeigth <= 600 Then '判断屏Exit Sub
Else
ChangeScreen '调整屏幕分辨率
End If
End Sub
单击【确定】按钮,如果输入的操作员姓名和口令正确,则通过身份验证,登录到系统当中。设计思路:通过SQL语句查询输入的用户名和密码信息在数据库中是否存在,如果查询到符合条件的记录信息则显示系统主窗体,登录到系统当中,实现的程序代码如下:
Private Sub Cmd_Ok_Click()
Dim MPassword As String
If Cbx_Name.Text = "MR" And Txt_Password.Text = "mingrisoft" Then '判断是否使用的是超级口令登录
Frm_Main.StatusBar1.Panels.Item(2).Text = "当前操作员: MR"
Name1 = Cbx_Name.Text '将操作员姓名信息赋予全局变量Name1
Unload Me
Frm_Main.Show '显示系统主窗体
Else
Adodc1.RecordSource = "select * from tb_user where user_name ='" & Cbx_Name.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
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 Me
Else
MsgBox "密码不正确,请您确认后重新输入", , "提示信息"
Txt_Password.Text = ""
Txt_Password.SetFocus
End If
Else
MsgBox "对不起 没有此用户的信息", , "提示信息"
Cbx_Name.Text = ""
Txt_Password.Text = ""
End If
End If
End Sub
如果在输入密码的文本框中按下〈Enter〉键,则将调用【确定】按钮的单击事件,判断登录用户是否合法,代码如下所示。
Private Sub Txt_Password_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Call Cmd_Ok_Click '调用确定按钮的单击事件代码
End If
End Sub
3.2 车辆调度安排
车辆调度安排是物流管理过程中的重要环节,物流公司在接到托运货物信息之后,首要的问题是安排托运货物的车辆。在本系统当中通过车辆调度安排填写安排托运车辆的信息,然后打印出车辆调度通知单,并将通知单发放到托运司机的手中,司机根据调度通知单上的信息执行托运任务。通过单击窗体中的Cmd_Select按钮选择车牌号码,然后输入其他一些辅助的信息,最后保存车辆调度安排信息。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。
(8)在窗体上添加1个时钟控件Timer1,在属性窗口中将控件的Interval属性值设置为60。
2.代码设计
工具栏中的控制按钮控制着窗体的各项操作,在Toolbar控件Tbr_xxcz的ButtonClick事件当中,通过选择Select Case语句的索引值(单击工具栏中的按钮执行相应的索引值)调用相应的过程来完成添加、删除、修改和保存等操作的功能,保存过程事件的代码如下:
Private Sub Saves() '保存信息的过程
If Text1(0).Text = "" Or Text1(3).Text = "" Then
MsgBox "重要信息不能为空值", 48, "提示信息"
Else
AdoRs.Open "select * from tb_Goods_cldd where cldd_cphm='" +
Text1(0).Text + "'", Cnn, adOpenKeyset
If AdoRs.RecordCount > 0 Then
MsgBox "该信息已经存在", 48, "提示信息"
AdoRs.Close Else
AdoRs.Close c = MsgBox("确认保存信息吗", 33, "提示信息")
If c = vbOK Then
Set AdoRs = Cnn.Execute("insert into tb_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 If
Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id"
Adodc1.Refresh
Call DBGCon
End If
Call Tbr_cortrol(Tbr_xxcz, True)
End If
End Sub
用户自定义修改信息过程事件的代码如下:
Private Sub Edits() '修改信息的过程
c = MsgBox("确认修改信息吗", 33, "提示信息")
If c = vbOK Then
Set AdoRs = Cnn.Execute("UPDATE tb_Goods_cldd SET cldd_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 + "' where cldd_id='"
+ Txt_id.Text + "'")
MsgBox "数据修改成功", 64, "提示信息"
Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id"
Adodc1.Refresh
StrId = Txt_id.Text
StrTitle = Text1(0).Text
Call joinRZ Call DBGCon
Else
End If
End Sub
用户自定义删除信息过程事件的代码如下:
Private Sub Deletes() c = MsgBox("确认删除该信息吗", 17, "提示信息")
If c = vbOK Then
On Error Resume Next Set AdoRs = Cnn.Execute("Delete tb_Goods_cldd from tb_Goods_cldd where
cldd_id='" + Txt_id.Text + "'")
Adodc1.Refresh End If
For i = 0 To 5
Text1(i).Text = ""
Next i
Txt_bz.Text = ""
End Sub
3.3 托运申请单管理
在正式托运货物之前,需要进行托运货物申请,在进行托运货物申请时需要填写托运货物申请单,托运申请单经过核对之后,才可以填写货物托运单进行托运货物。在托运申请单中记录的托运货物的详细信息,以便托运货物时进行核对。
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。
2.代码设计
当窗体启动时,锁定窗体中文本框,禁止输入字符信息,同时通过Ado控件的ConnectionString属性连接到数据库,实现代码如下:
Private Sub Form_Load()
Call LoadFile For i = 1 To 20
Text1(i).Locked = True Next i
Adodc1.ConnectionString = PublicStr
Adodc1.RecordSource = "select * from tb_Goods_sqd order by sqd_lszh"
Adodc1.Refresh
DT1.Value = Date
Call Tbr_cortrol(Tbr_xxcz, True)
End Sub
单击窗体中的工具栏按钮,完成相应的添加、删除、修改、保存和打印的操作,Toolbar控件Tbr_xxcz的ButtonClick事件代码如下所示:
Private Sub Tbr_xxcz_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1 Call Tbr_cortrol(Tbr_xxcz, False)
For i = 0 To 20
Text1(i).Locked = False
Text1(i).Text = ""
Next i
Text1(0).SetFocus
AdoRs.Open "select * from tb_Goods_sqd where sqd_lszh like '%" + Format(Date, "yyyymmdd") + "%' order by sqd_lszh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then
AdoRs.MoveLast
Txt_id.Text = Val(AdoRs.Fields("sqd_lszh")) + 1
Else
Txt_id.Text = Format(Date, "yyyymmdd") & "0000001"
End If
AdoRs.Close
Case 2 Call Deletes
Case 3
Call Edits
Case 4
Call Saves
Case 5
Call Tbr_cortrol(Tbr_xxcz, True)
For i = 1 To 20
Text1(i).Text = ""
Text1(1).SetFocus
Next i
Case 6 Unload Me
End Select
End Sub
通过文本框的Change事件,来实现在另一个文本框中自动计算合计金额的功能,实现的具体代码如下所示:
Private Sub Text1_Change(Index As Integer)
If Index = 7 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
ElseIf Index = 11 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
ElseIf Index = 15 Then
Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text)
End If
End Sub
3.4 货物托运管理
货物托运管理是本系统的核心,在货物托运申请完成之后,就可以填写货物托运单,托运司机根据货物托运单将货物托运到客户手中。对于同一张货物托运单,可以托运多种不同的货物,在托运管理窗体中可以添加或删除托运货物,还可以通过ListView控件浏览货物托运单信息。
货物托运管理模块的运行结果如图8所示,单击工具栏中的【添加货物】按钮,将弹出增加托运货物窗体
1.货物托运窗体及增加托运货物窗体的设计
(1)在工程中新建一个窗体,将窗体的名称设置为“frm_Hpty”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置False。
(2)在窗体上添加Toolbar控件,根据前面所介绍的方法为窗体设计工具栏。
(3)在窗体中添加2个ImageList控件。
(4)在窗体上添加1个ListView控件。
(5)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属性页”对话框中选择“通用”选项卡,在该选项卡中选取“整行选择”、“网格行”和“热跟踪”等复选框,在“查看”旁的列表框中选择3-lvwReport
(6)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出“属性页”对话框中选择“列首”选项卡,在该选项卡中单击【插入列】按钮,然后在“文本”文本框中输入插入列的标题名称,在“宽度”文本框中输入插入列的宽度
(7)在ListView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,在弹出的“属性页”对话框中选择“图像列表”选项卡,在该选项卡中的“普通”和“列标头”列表框中分别选(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。
(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属性设置为“添加”、“保存”、“删除”、“取消”。
3.5 在途跟踪管理在途跟踪是对正在托运的货物信息进行管理,托运司机在托运货物的过程中,每到一个地方或者在托运过程中出现某些异常情况,就会给托运公司反馈一个信息,托运公司将反馈回来的信息进行记录,并且对反馈回来的异常情况进行处理,这个过程就是在途跟踪。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。2.代码设计通过单击选择ListView控件中的元素(托运单号),在窗体中即可以显示相对应托运单号的数据信息,同时查询tb_Goods_ztgzlx数据表,从中检索出该托运单号的跟踪路线信息,将其显示在窗体的Txt_lx.文本框当中,实现的代码如下所示:Private Sub ListView1_Click() AdoRs.Open "select * from tb_Goods_ztgz where ztgz_cydh='" & ListView1.SelectedItem & "' order by ztgz_cydh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then 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(5).Text = AdoRs.Fields("ztgz_dadd") Text1(6).Text = AdoRs.Fields("ztgz_bz") End If AdoRs.Close AdoRs1.Open "select * from tb_Goods_ztgzlx where ztgzlx_tydh='" & ListView1.SelectedItem & "'", Cnn, adOpenKeyset If AdoRs1.RecordCount > 0 Then Txt_lx.Text = AdoRs1.Fields("ztgzlx_lx" End If AdoRs1.Close Adodc1.RecordSource = "select * from tb_Goods_ztgz where ztgz_cydh='" + ListView1.SelectedItem + "'" Adodc1.Refresh Call DBGCon '给DataGrid控件的列标题赋值End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
上海沃行
2024-09-10 广告
2024-09-10 广告
跨国物流系统主要包括海运、空运、公路、铁路以及联合跨国物流系统。海运系统适用于大批量货物的长距离运输,成本较低。空运系统则以其速度快、时效性强为特点,适用于高附加值或急需运输的货物。公路和铁路系统则多用于邻国之间的货物运输,成本适中,时效稳...
点击进入详情页
本回答由上海沃行提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询