物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
《物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文》由會員分享,可在線閱讀,更多相關(guān)《物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(39頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、吉林省明日科技有限公司監(jiān)制 物流管理系統(tǒng) 學(xué) 院 專 業(yè) 班 級 學(xué) 號 姓 名 指導(dǎo)教師 教師職稱 年 月 日 – 39 – 摘要 【摘要】 隨著市場經(jīng)濟(jì)的高速發(fā)展,制造業(yè)、商業(yè)企業(yè)逐步接受著第三方物流服務(wù)。越來越多的企業(yè)認(rèn)識到物流企業(yè)外包是降低成本、提高服務(wù)水平的有效渠道。物流管理的特點(diǎn)是以客戶為核心、構(gòu)建面向客戶的業(yè)務(wù)流程支持各種形式、各種需求的現(xiàn)在企業(yè)中的業(yè)務(wù)模式。系統(tǒng)支持多形式客戶的數(shù)據(jù)共享、提高作業(yè)效率、監(jiān)控整個流程、提供完整的貨品、進(jìn)
2、行訂單跟蹤,并且特別關(guān)注對各環(huán)節(jié)業(yè)務(wù)的監(jiān)控及例外情況的監(jiān)控。 【關(guān)鍵詞】 客戶 物流 物流管理系統(tǒng) 目錄 摘要 1 目錄 1 引言 1 1 系統(tǒng)分析 2 1.1 需求分析 2 1.2 可行性分析 2 2 總體設(shè)計(jì) 2 2.1 項(xiàng)目規(guī)劃 2 2.2 系統(tǒng)功能結(jié)構(gòu)圖 3 3 詳細(xì)設(shè)計(jì) 3 3.1 系統(tǒng)登錄設(shè)計(jì) 3 3.2 車輛調(diào)度安排 6 3.3 托運(yùn)申請單管理 8 3.4 貨物托運(yùn)管理 11 3.5 在途跟蹤管理 17 3.6 信息查詢 20 附錄A 參考文獻(xiàn) 30 附錄B 數(shù)據(jù)表結(jié)構(gòu) 31 附錄C 文件架構(gòu)圖 3
3、7 引言 在當(dāng)今高速發(fā)展的信息社會,現(xiàn)代物流行業(yè)突飛猛進(jìn)發(fā)展,伴隨著我國國民經(jīng)濟(jì)連續(xù)多年的高速增長,為現(xiàn)代物流發(fā)展創(chuàng)造了良好的條件。目前,我國各類物流企業(yè)有14萬家左右,展望整個21世紀(jì),可以說現(xiàn)代物流業(yè)還將有更大的發(fā)展。 在發(fā)達(dá)國家,物流理論促使物流實(shí)踐快速發(fā)展。經(jīng)濟(jì)全球化及現(xiàn)代物流業(yè)發(fā)展的系統(tǒng)化、信息化、倉儲運(yùn)輸?shù)默F(xiàn)代化和綜合化等趨勢,對我國物流業(yè)的發(fā)展提出了全方位的挑戰(zhàn)。傳統(tǒng)物流行業(yè)的操作模式已經(jīng)不適應(yīng)現(xiàn)代的物流行業(yè),如何縮短物流過程,降低產(chǎn)品庫存,加速對市場的反應(yīng),這是所有企業(yè)所面對的問題。本系統(tǒng)就是針對這些問題根據(jù)中小型企業(yè)的實(shí)際需求而開發(fā)的一套物流管理系統(tǒng)。系統(tǒng)的
4、開發(fā)能夠幫助企業(yè)實(shí)現(xiàn)對物流全過程的優(yōu)化調(diào)度和動態(tài)控制,高效整合企業(yè)的物流業(yè)務(wù),以全面提高經(jīng)濟(jì)效益和效率為目的,提供高效、實(shí)用、技術(shù)的物流管理系統(tǒng)和運(yùn)營手段。 物流管理系統(tǒng)是集現(xiàn)代運(yùn)輸、倉儲配送、搬運(yùn)、調(diào)度、跟蹤為一體的網(wǎng)絡(luò)系統(tǒng),系統(tǒng)的開發(fā)實(shí)現(xiàn)了商品從原料供應(yīng)商、制造商、分銷商到零售商再到消費(fèi)者的各個環(huán)節(jié)的有機(jī)結(jié)合。 1 系統(tǒng)分析 1.1 需求分析 通過市場調(diào)查,要求本系統(tǒng)具有以下功能: q 統(tǒng)一友好的操作界面,能保證系統(tǒng)的易用性。 q 規(guī)范、完善的基礎(chǔ)信息設(shè)置。 q 靈活的報(bào)表設(shè)計(jì)及打印功能。 q 實(shí)現(xiàn)貨物申請、托運(yùn)、跟蹤與驗(yàn)收的全過程。 q 全方位的信息查詢功能。
5、q 系統(tǒng)日志詳細(xì)記錄各種操作,提供追查的有力依據(jù)。 q 完善的權(quán)限管理,增強(qiáng)系統(tǒng)的安全性。 q 強(qiáng)大的數(shù)據(jù)備份及恢復(fù)功能,保證系統(tǒng)數(shù)據(jù)的安全性。 1.2 可行性分析 由于傳統(tǒng)物流行業(yè)操作過程復(fù)雜,手續(xù)繁多,業(yè)務(wù)信息多,圍繞這些信息的處理也很紛雜。而且,物流行業(yè)競爭激烈,這種競爭,一方面表現(xiàn)在發(fā)展客戶的市場開拓上,另一方面也存在于收集處理信息的速度、廣度和深度,以及在業(yè)務(wù)操作中對業(yè)務(wù)數(shù)據(jù)處理的準(zhǔn)確性和嚴(yán)密性,而更高層次上,還牽涉到公司決策層對整體業(yè)務(wù)的控制和協(xié)調(diào)。 物流管理系統(tǒng)從物流行業(yè)的實(shí)際需求出發(fā),參照先進(jìn)的物流理念和多家領(lǐng)先的物流公司實(shí)際的運(yùn)營流程開發(fā)而成,系統(tǒng)從完善的基礎(chǔ)信息
6、設(shè)置到貨物的托運(yùn)管理、在線跟蹤,信息查詢、到最后各種報(bào)表的生成,清晰的業(yè)務(wù)流程,使操作人員能夠按照流程清晰的進(jìn)行實(shí)際的操作,保證物流運(yùn)作有序而高效的進(jìn)行。 2 總體設(shè)計(jì) 2.1 項(xiàng)目規(guī)劃 物流管理系統(tǒng)是一個典型的數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)由基本信息設(shè)置、貨物托運(yùn)管理、信息查詢、報(bào)表管理、系統(tǒng)管理等模塊組成,規(guī)劃系統(tǒng)功能模塊如下: q 基本信息設(shè)置模塊 該模塊主要負(fù)責(zé)完成部門資料設(shè)置、職務(wù)信息設(shè)置、公司資料設(shè)置、員工資料設(shè)置、客戶資料設(shè)置、司機(jī)資料設(shè)置和車輛資料設(shè)置。 q 貨物托運(yùn)管理模塊 該模塊主要由車輛調(diào)度安排、托運(yùn)申請單管理、貨物托運(yùn)單管理、貨物驗(yàn)收單管理和車輛配送跟蹤記錄單管
7、理幾部分組成。 q 信息查詢模塊 該模塊由貨物申請單查詢、車輛調(diào)度信息查詢、貨物托運(yùn)信息查詢、貨物托運(yùn)驗(yàn)收查詢和車輛在途跟蹤查詢幾部分組成。 q 報(bào)表管理模塊 包括貨物申請單報(bào)表、貨物托運(yùn)單報(bào)表和貨物驗(yàn)收單報(bào)表3部分。 q 系統(tǒng)管理模塊 包括查看日志、刪除日志、用戶管理、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)和系統(tǒng)數(shù)據(jù)清理幾部分。 2.2 系統(tǒng)功能結(jié)構(gòu)圖 物流管理系統(tǒng)的系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。 圖1 系統(tǒng)功能結(jié)構(gòu)圖 3 詳細(xì)設(shè)計(jì) 3.1 系統(tǒng)登錄設(shè)計(jì) 系統(tǒng)登錄主要用于對登錄物流管理系統(tǒng)的用戶進(jìn)行安全性檢查,以防止非法用戶登錄該系統(tǒng)。根據(jù)給管理員分配的權(quán)限,登錄用戶可以根據(jù)自己
8、所具有的權(quán)限操作系統(tǒng)中相應(yīng)的功能。 在登錄系統(tǒng)時驗(yàn)證操作員及其密碼,主要通過ADO控件中記錄集(RecordSet)對象結(jié)合If語句判斷用戶選定的操作員及其輸入的密碼與數(shù)據(jù)庫中的操作員和密碼是否相同來實(shí)現(xiàn),如果相同則允許登錄,并給予相應(yīng)的權(quán)限,否則將不允許用戶登錄。 系統(tǒng)登錄的運(yùn)行結(jié)果如圖2所示。 圖2 系統(tǒng)登錄窗體的運(yùn)行結(jié)果 1.窗體設(shè)計(jì) (1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_xtdl”,BorderStyle屬性設(shè)置為“0-None”,通過設(shè)置Picture屬性為窗體添加圖片。 (2)在窗體上添加Adodc控件,由于該控件屬于ActiveX控件,在使用之
9、前必須從“部件”對話框中添加到工具箱。添加方法如下: 在“工程”/“部件”對話框中勾選“Microsoft Ado Data Controls 6.0(SP4)”列表項(xiàng),單擊【確定】按鈕之后即可將Ado控件添加到工具箱當(dāng)中。 (3)在窗體中添加1個ComboBox控件和文本框控件,分別設(shè)置名稱為Name屬性為“Cbx_Name”和“txt_Password”,設(shè)置BorderStyle屬性為“0-None”,將ComboBox控件的Text屬性設(shè)置為“MR”。 (4)在窗體中添加2個CommandButton控件,分別將Name屬性設(shè)置為“Cmd_Ok”和“Cmd_Cancel”,Cap
10、tion屬性設(shè)置為“登錄”和“取消”。 登錄窗體的設(shè)計(jì)結(jié)果如圖3所示 圖3 系統(tǒng)登錄窗體的設(shè)計(jì)界面 2.代碼設(shè)計(jì) 在代碼窗口的聲明部分定義如下變量: Dim itmX As ListItem 定義一個ListItem對象 Dim key As String 定義字符串變量 在窗體裝載事件中,通過ADO控件的ConnectionString屬性建立數(shù)據(jù)庫連接,同時將所有操作員的姓名添加到Cbx_Name控件當(dāng)中,代碼如下: Private Sub Form_Load() Call WHScreen 調(diào)用
11、獲取屏幕分辨率的過程函數(shù) 使用代碼連接數(shù)據(jù)庫與數(shù)據(jù)表 Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = "select * from tb_user" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst Cbx_Name.Clear 在添加數(shù)據(jù)時,首先清空控件中的內(nèi)容
12、 Do While Adodc1.Recordset.EOF = False 將操作員信息添加到ListView控件當(dāng)中 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
13、 調(diào)整屏幕分辨率 End If End Sub 單擊【確定】按鈕,如果輸入的操作員姓名和口令正確,則通過身份驗(yàn)證,登錄到系統(tǒng)當(dāng)中。設(shè)計(jì)思路:通過SQL語句查詢輸入的用戶名和密碼信息在數(shù)據(jù)庫中是否存在,如果查詢到符合條件的記錄信息則顯示系統(tǒng)主窗體,登錄到系統(tǒng)當(dāng)中,實(shí)現(xiàn)的程序代碼如下: Private Sub Cmd_Ok_Click() Dim MPassword As String If Cbx_Name.Text = "MR" And Txt_Password.Text = "mingrisoft" Then 判斷是否使用的是
14、超級口令登錄 Frm_Main.StatusBar1.Panels.Item(2).Text = "當(dāng)前操作員: MR" Name1 = Cbx_Name.Text 將操作員姓名信息賦予全局變量Name1 Unload Me Frm_Main.Show 顯示系統(tǒng)主窗體 Else Adodc1.RecordSource = "select * from tb_user where user_name =" & Cbx_Name.Text & "
15、" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then MPassword = Adodc1.Recordset.Fields("user_mm") If Txt_Password.Text = MPassword Then 判斷數(shù)據(jù)的密碼是否正確 Name1 = Cbx_Name.Text Frm_Main.StatusBar1.Panels.Item(2).Text = "當(dāng)前操作員: " +
16、 Adodc1.Recordset.Fields("user_name") Frm_Main.Show 通過身份驗(yàn)證則顯示主窗體,登錄到系統(tǒng)當(dāng)中 Unload Me Else MsgBox "密碼不正確,請您確認(rèn)后重新輸入", , "提示信息" Txt_Password.Text = "" Txt_Password.SetFocus End If Else
17、 MsgBox "對不起 沒有此用戶的信息", , "提示信息" Cbx_Name.Text = "" Txt_Password.Text = "" End If End If End Sub 如果在輸入密碼的文本框中按下〈Enter〉鍵,則將調(diào)用【確定】按鈕的單擊事件,判斷登錄用戶是否合法,代碼如下所示。 Private Sub Txt_Password_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then
18、 Call Cmd_Ok_Click 調(diào)用確定按鈕的單擊事件代碼 End If End Sub 3.2 車輛調(diào)度安排 車輛調(diào)度安排是物流管理過程中的重要環(huán)節(jié),物流公司在接到托運(yùn)貨物信息之后,首要的問題是安排托運(yùn)貨物的車輛。在本系統(tǒng)當(dāng)中通過車輛調(diào)度安排填寫安排托運(yùn)車輛的信息,然后打印出車輛調(diào)度通知單,并將通知單發(fā)放到托運(yùn)司機(jī)的手中,司機(jī)根據(jù)調(diào)度通知單上的信息執(zhí)行托運(yùn)任務(wù)。通過單擊窗體中的Cmd_Select按鈕選擇車牌號碼,然后輸入其他一些輔助的信息,最后保存車輛調(diào)度安排信息。車輛調(diào)度安排模塊的運(yùn)行結(jié)果如圖4所示。 圖4 車輛調(diào)度安排窗體的運(yùn)行結(jié)果 1.窗體設(shè)計(jì)
19、 (1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_Cldd”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。 (2)在窗體上添加1個Toolbar控件和1個ImageList控件。 (3)在窗體的Toolbar控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對話框中設(shè)置窗體的工具欄,設(shè)計(jì)完成的工具欄如圖5所示。 (4)在窗體中添加1個Frame控件,在Frame控件上添加1個文本框控件數(shù)組,并為每個文本框控件配置1個標(biāo)簽控件,并且設(shè)置相應(yīng)的Caption屬性值,如圖5所示。 (5)在窗體上添加1個
20、DTPicker控件,命名為DT1,用于輸入或顯示托運(yùn)司機(jī)執(zhí)行任務(wù)的日期時間。 (6)在窗體上添加1個Ado控件和1個DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,AllowUpdate屬性值設(shè)置為False。 (7)在窗體中添加1個標(biāo)簽控件,命名為Lbl_Num。 (8)在窗體上添加1個時鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。 車輛調(diào)度安排窗體的設(shè)計(jì)結(jié)果如圖5所示。 圖5 車輛調(diào)度安排窗體的設(shè)計(jì)結(jié)果 2.代碼設(shè)計(jì) 工具欄中的控制按鈕控制著窗體的各項(xiàng)操作,在Toolb
21、ar控件Tbr_xxcz的ButtonClick事件當(dāng)中,通過選擇Select Case語句的索引值(單擊工具欄中的按鈕執(zhí)行相應(yīng)的索引值)調(diào)用相應(yīng)的過程來完成添加、刪除、修改和保存等操作的功能,保存過程事件的代碼如下: Private Sub Saves() 保存信息的過程 If Text1(0).Text = "" Or Text1(3).Text = "" Then MsgBox "重要信息不能為空值", 48, "提示信息" Else AdoRs.Open "select * from tb_Goods_cldd where cld
22、d_cphm=" + Text1(0).Text + "", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then MsgBox "該信息已經(jīng)存在", 48, "提示信息" AdoRs.Close 關(guān)閉記錄集對象 Else AdoRs.Close 關(guān)閉記錄集對象 c = M
23、sgBox("確認(rèn)保存信息嗎", 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 & ")")
24、 MsgBox "數(shù)據(jù)保存成功", 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 用戶自定義修改信息過程
25、事件的代碼如下: Private Sub Edits() 修改信息的過程 c = MsgBox("確認(rèn)修改信息嗎", 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.Valu
26、e) + ",cldd_phmc=" + Text1(4) + ",cldd_shdd=" + Text1(5) + ",cldd_bz=" + Txt_bz + " where cldd_id=" + Txt_id.Text + "") MsgBox "數(shù)據(jù)修改成功", 64, "提示信息" Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id" Adodc1.Refresh StrId = Txt_id.Tex
27、t StrTitle = Text1(0).Text Call joinRZ 添加修改信息日志 Call DBGCon Else End If End Sub 用戶自定義刪除信息過程事件的代碼如下: Private Sub Deletes() 刪除信息 c = MsgBox("確認(rèn)刪除該信息嗎", 17, "提示信息") If c = vbOK Then
28、 On Error Resume Next 執(zhí)行錯誤處理 Set AdoRs = Cnn.Execute("Delete tb_Goods_cldd from tb_Goods_cldd where cldd_id=" + Txt_id.Text + "") Adodc1.Refresh 刷新數(shù)據(jù)信息 End If For i = 0 To 5 Text1(i).Text = "" Next i
29、 Txt_bz.Text = "" End Sub 3.3 托運(yùn)申請單管理 在正式托運(yùn)貨物之前,需要進(jìn)行托運(yùn)貨物申請,在進(jìn)行托運(yùn)貨物申請時需要填寫托運(yùn)貨物申請單,托運(yùn)申請單經(jīng)過核對之后,才可以填寫貨物托運(yùn)單進(jìn)行托運(yùn)貨物。在托運(yùn)申請單中記錄的托運(yùn)貨物的詳細(xì)信息,以便托運(yùn)貨物時進(jìn)行核對。 貨物托運(yùn)申請管理模塊的運(yùn)行結(jié)果如圖6所示。 圖6 貨物托運(yùn)申請管理模塊運(yùn)行結(jié)果 1.窗體設(shè)計(jì) (1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_Tysq”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置“False”。 (2)在窗體
30、上添加1個Toolbar控件和1個ImageList控件,為窗體設(shè)計(jì)工具欄。 (3)在窗體中添加1個Frame控件,在Frame控件上添加1個文本框控件數(shù)組,并為每個文本控件配置1個標(biāo)簽控件,設(shè)置相應(yīng)的Caption屬性值,如圖7所示。 (4)在Frame控件上添加2個DTPicker控件,分別名稱命名為DT1和DT2,用于輸入或顯示出貨日期時間和開票日期。 (5)在窗體上添加1個Ado控件。 (6)在窗體中添加1個標(biāo)簽控件,命名為Lbl_Num。 (7)在窗體上添加1個時鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。 貨物托運(yùn)申請單管理窗體的設(shè)計(jì)結(jié)果如
31、圖7所示。 圖7 貨物托運(yùn)管理窗體的設(shè)計(jì)結(jié)果 2.代碼設(shè)計(jì) 當(dāng)窗體啟動時,鎖定窗體中文本框,禁止輸入字符信息,同時通過Ado控件的ConnectionString屬性連接到數(shù)據(jù)庫,實(shí)現(xiàn)代碼如下: Private Sub Form_Load() Call LoadFile 在窗體加載的時候顯示數(shù)據(jù)信息 For i = 1 To 20 Text1(i).Locked = True 鎖定文本框,禁止輸入字符信息 Next i Adodc1.ConnectionString
32、 = PublicStr 通過代碼連接到數(shù)據(jù)庫 Adodc1.RecordSource = "select * from tb_Goods_sqd order by sqd_lszh" Adodc1.Refresh DT1.Value = Date Call Tbr_cortrol(Tbr_xxcz, True) End Sub 單擊窗體中的工具欄按鈕,完成相應(yīng)的添加、刪除、修改、保存和打印的操作,Toolbar控件Tbr_xxcz的ButtonClick事件代碼如下所示: Private Sub Tbr_xxcz_ButtonClick
33、(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
34、 AdoRs.Open "select * from tb_Goods_sqd where sqd_lszh like %" + Format(Date, "yyyymmdd") + "% order by sqd_lszh", Cnn, adOpenKeyset 根據(jù)日期產(chǎn)生流水賬號 If AdoRs.RecordCount > 0 Then AdoRs.MoveLast Txt_id.Text = Val(AdoRs.Fields("sqd_lszh")) + 1
35、 Else Txt_id.Text = Format(Date, "yyyymmdd") & "0000001" End If AdoRs.Close Case 2 刪除信息 Call Deletes Case 3 修改信息 Call Edits Case 4
36、 保存信息 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事件,來實(shí)現(xiàn)在另
37、一個文本框中自動計(jì)算合計(jì)金額的功能,實(shí)現(xiàn)的具體代碼如下所示: 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
38、Then Text1(15).Text = Val(Text1(7).Text) + Val(Text1(11).Text) End If End Sub 3.4 貨物托運(yùn)管理 貨物托運(yùn)管理是本系統(tǒng)的核心,在貨物托運(yùn)申請完成之后,就可以填寫貨物托運(yùn)單,托運(yùn)司機(jī)根據(jù)貨物托運(yùn)單將貨物托運(yùn)到客戶手中。對于同一張貨物托運(yùn)單,可以托運(yùn)多種不同的貨物,在托運(yùn)管理窗體中可以添加或刪除托運(yùn)貨物,還可以通過ListView控件瀏覽貨物托運(yùn)單信息。 貨物托運(yùn)管理模塊的運(yùn)行結(jié)果如圖8所示,單擊工具欄中的【添加貨物】按鈕,將彈出增加托運(yùn)貨物窗體,如圖9所示。 圖8 貨物托運(yùn)管
39、理模塊的運(yùn)行結(jié)果 圖9 增加托運(yùn)貨物窗體 1.貨物托運(yùn)窗體及增加托運(yùn)貨物窗體的設(shè)計(jì) (1)在工程中新建一個窗體,將窗體的名稱設(shè)置為“frm_Hpty”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。 (2)在窗體上添加Toolbar控件,根據(jù)前面所介紹的方法為窗體設(shè)計(jì)工具欄。 (3)在窗體中添加2個ImageList控件。 (4)在窗體上添加1個ListView控件。 (5)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對話框中選擇“通用”選項(xiàng)卡,在該選項(xiàng)卡中選取“整行選擇
40、”、“網(wǎng)格行”和“熱跟蹤”等復(fù)選框,在“查看”旁的列表框中選擇3-lvwReport,如圖10所示。 圖10 設(shè)置控件的顯示模式 (6)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出“屬性頁”對話框中選擇“列首”選項(xiàng)卡,在該選項(xiàng)卡中單擊【插入列】按鈕,然后在“文本”文本框中輸入插入列的標(biāo)題名稱,在“寬度”文本框中輸入插入列的寬度,如圖11所示。 圖11 設(shè)置插入列的屬性 (7)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對話框中選擇“圖像列表”選項(xiàng)卡,在該選項(xiàng)卡中的“普通”和“列標(biāo)頭”列表框中分別
41、選擇“ImageList2”,如圖12所示。 圖12 連接ImageList2控件 (8)在窗體上添加1個Ado控件。 (9)在窗體中添加3個Frame控件,分別在Frame控件中添加文本框控件和DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,BackColor屬性值設(shè)置為&H00FFFFC0&,設(shè)計(jì)完成的界面如圖13所示。 (10)在窗體中添加1個標(biāo)簽控件,名稱命名為Lbl_Num。 (11)在窗體上添加1個時鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。 貨物托運(yùn)管理窗體的設(shè)
42、計(jì)結(jié)果如圖13所示。 圖13 貨物托運(yùn)管理窗體的設(shè)計(jì)界面 (12)在工程中添加1個窗體,將窗體命名為Frm_Tyhwgl,該窗體作為貨物托運(yùn)管理的子窗體,用于為完成為貨物托運(yùn)單添加托運(yùn)貨物的操作。 (13)將該窗體的BorderStyle屬性設(shè)置為“1-Fixed Single”。 (14)在該窗體上添加1個Ado控件。 (15)在該窗體中添加1個Frame控件,在Frame控件中添加文本框控件和標(biāo)簽控件。 (16)在該窗體中添加1個DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,設(shè)計(jì)完成的界面如圖14所示
43、。 (17)在窗體上添加4個CommandButton控件,分別將控件的名稱命名為“Cmd_Add”、“Cmd_Save”、“Cmd_Del”、“Cmd_Cancel”,Caption屬性設(shè)置為“添加”、“保存”、“刪除”、“取消”。 圖14 托運(yùn)貨物管理窗體的設(shè)計(jì)界面 2.貨物托運(yùn)管理窗體的代碼設(shè)計(jì) 在窗體啟動時,通過調(diào)用LoadFile過程,在窗體上顯示數(shù)據(jù),同時利用Ado對象計(jì)算出當(dāng)前數(shù)據(jù)庫中數(shù)據(jù)記錄的條數(shù),代碼如下: Private Sub Form_Load() Call RefreshData Call LoadFile For i =
44、 1 To 21 鎖定文本框,禁止輸入內(nèi)容 Text1(i).Locked = True Next i AdoRs.Open "select * from tb_Goods_tyd order by tyd_tydh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Lbl_Num.Caption = "當(dāng)前數(shù)據(jù)表中共有 " & AdoRs.RecordCount & " 條記錄" End If
45、 AdoRs.Close Call Tbr_cortrol(Tbr_xxcz, True) End Sub 單擊工具欄中的控制按鈕,通過Select Case語句控制工具欄中的按鈕,完成添加、刪除、修改、保存、添加貨物和刪除貨物等操作,實(shí)現(xiàn)的代碼如下: Private Sub Tbr_xxcz_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Call Tbr_cortrol(Tbr_xxc
46、z, False) For i = 0 To 21 Text1(i).Locked = False Text1(i).Text = "" Next i Text1(0).SetFocus 根據(jù)日期產(chǎn)生流水賬號 AdoRs.Open "select * from tb_Goods_tyd where tyd_tydh like %" + Format(Date, "yyyymmdd") + "% order by tyd_tydh"
47、, Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then AdoRs.MoveLast Txt_id.Text = Val(AdoRs.Fields("tyd_tydh")) + 1 Else Txt_id.Text = Format(Date, "yyyymmdd") & "00001" End If AdoRs.Close
48、 Case 2 刪除信息 Call Deletes Case 3 修改信息 Call Edits Case 4 保存信息 Call Saves Case 5 Call Tbr_cortrol(Tbr_xxcz, True) For i = 1 To 21 Text1(i).Tex
49、t = "" Text1(1).SetFocus Next i Case 6 添加貨物 TStrs = Txt_id.Text Frm_Tyhwgl.Cmd_Del.Enabled = False 使添加貨物窗體中的“刪除”按鈕不可用 Frm_Tyhwgl.Show 1 Case 7 刪除貨物 TStrs = Txt
50、_id.Text Frm_Tyhwgl.Cmd_Add.Enabled = False Frm_Tyhwgl.Cmd_Save.Enabled = False Frm_Tyhwgl.Show 1 Case 8 Unload Me End Select End Sub 通過單擊選擇ListView控件中的元素(托運(yùn)單號),然后調(diào)用DataLoad過程在窗體上顯示相對應(yīng)托運(yùn)單號的數(shù)據(jù)信息,同時查詢該記錄是否被修改過,如果修改過則將修改時間及修改人信息顯示在窗體的Txt_ysrq和Txt_ysr文本
51、框當(dāng)中,代碼如下所示: Private Sub ListView1_Click() AdoRs.Open "select * from tb_Goods_tyd where tyd_tydh=" & ListView1.SelectedItem & " order by tyd_tydh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Call DataLoad 調(diào)用顯示數(shù)據(jù)的過程 End If AdoRs.Close
52、 關(guān)閉數(shù)據(jù)集對象 AdoRs1.Open "select * from tb_Goods_khys where khys_tydh=" & ListView1.SelectedItem & "", Cnn, adOpenKeyset If AdoRs1.RecordCount > 0 Then Txt_ysrq.Text = AdoRs1.Fields("khys_ysrq") Txt_ysr.Text = AdoRs1.Fields("khys_ysr") Else Txt_ysrq.Tex
53、t = "" Txt_ysr.Text = "" End If AdoRs1.Close Call ShowData 調(diào)用數(shù)據(jù)刷新的過程 Call DBGCon End Sub 通過時鐘控件,將當(dāng)前數(shù)據(jù)庫中的記錄條數(shù)顯示在標(biāo)簽控件Lbl_Num當(dāng)中,實(shí)現(xiàn)的代碼如下所示: Private Sub Timer1_Timer() On Error Resume Next 執(zhí)行錯誤處理的語句 Lbl_Num.Caption = "當(dāng)前數(shù)據(jù)表中共有 " & AdoRs.R
54、ecordCount & " 條記錄" End Sub 3.添加托運(yùn)貨物信息窗體的代碼設(shè)計(jì) 在增加托運(yùn)貨物窗體中單擊【添加】按鈕,清空窗體中文本框的信息,代碼如下: Private Sub Cmd_Add_Click() For i = 1 To 4 Text1(i).Text = "" Next i Text1(1).SetFocus End Sub 在窗體中單擊【保存】按鈕,在確認(rèn)該貨物信息沒有被保存之后,保存所添加的貨物信息,同時刷新窗體中的數(shù)據(jù)信息,代碼如下: Private Sub Cmd_Save_Click() If T
55、ext1(0).Text = "" Then MsgBox "托運(yùn)單號不能為空", 64, "提示信息" Else AdoRs.Open "select * from tb_Goods_hwzx where hwzx_hwid=" + Text1(1) + "", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then MsgBox "該貨物已經(jīng)添加過", 64, "提示信息" Else c = MsgBox("確認(rèn)保存信息嗎", 33, "提示信息")
56、 If c = vbOK Then Set AdoRs = Cnn.Execute("insert into tb_Goods_hwzx values(" & Text1(1) & "," & Text1(2) & "," & Text1(0) & "," & Text1(3) & "," & Text1(4) & ")") MsgBox "數(shù)據(jù)保存成功", 64, "提示信息" Adodc1.RecordSource = "select * from
57、 tb_Goods_hwzx where hwzx_sqdh=" + Text1(0) + " order by hwzx_hwid" Adodc1.Refresh Call DBGCon Cmd_Add.SetFocus End If End If AdoRs.Close End If End Sub 3.5 在途跟蹤管理 在途跟蹤是對正在托運(yùn)的貨物信息進(jìn)行管理,托運(yùn)司機(jī)在托運(yùn)貨物的過程中,每到一個地方或者在托
58、運(yùn)過程中出現(xiàn)某些異常情況,就會給托運(yùn)公司反饋一個信息,托運(yùn)公司將反饋回來的信息進(jìn)行記錄,并且對反饋回來的異常情況進(jìn)行處理,這個過程就是在途跟蹤。 在途跟蹤管理模塊的運(yùn)行結(jié)果如圖15所示。 圖15 在途跟蹤管理模塊運(yùn)行結(jié)果 1.窗體設(shè)計(jì) (1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“Frm_Ztgz”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。 (2)在窗體上添加1個Toolbar控件和1個ImageList控件。 (3)在窗體上添加1個ListView控件。 (4)在窗體上添加1個Ado控件。 (5)在窗體中
59、添加3個Frame控件,在Frame控件中添加文本框控件,并設(shè)置控件的相關(guān)屬性。 (6)在窗體上添加DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1。 在途跟蹤管理窗體的設(shè)計(jì)結(jié)果如圖16所示。 圖16 在途跟蹤管理窗體的設(shè)計(jì) 2.代碼設(shè)計(jì) 通過單擊選擇ListView控件中的元素(托運(yùn)單號),在窗體中即可以顯示相對應(yīng)托運(yùn)單號的數(shù)據(jù)信息,同時查詢tb_Goods_ztgzlx數(shù)據(jù)表,從中檢索出該托運(yùn)單號的跟蹤路線信息,將其顯示在窗體的Txt_lx.文本框當(dāng)中,實(shí)現(xiàn)的代碼如下所示: Private Sub Lis
60、tView1_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).Te
61、xt = AdoRs.Fields("ztgz_sjxm") Text1(3).Text = AdoRs.Fields("ztgz_cphm") DT1.Value = AdoRs.Fields("ztgz_dasj") Text1(4).Text = AdoRs.Fields("ztgz_sjsj") Text1(5).Text = AdoRs.Fields("ztgz_dadd") Text1(6).Text = AdoRs.Fields("ztgz_bz") End If Ad
62、oRs.Close 關(guān)閉記錄集對象 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
63、 關(guān)閉記錄集對象 Adodc1.RecordSource = "select * from tb_Goods_ztgz where ztgz_cydh=" + ListView1.SelectedItem + "" Adodc1.Refresh 刷新數(shù)據(jù)信息 Call DBGCon 給DataGrid控件的列標(biāo)題賦值 End Sub 在工具欄中單擊【保存】按鈕將調(diào)用用戶自定義的保存過程,保存在途跟蹤信息,用戶自定義的保存過程的代碼如下: Pr
64、ivate Sub Saves() 保存信息的過程 If Text1(1).Text = "" Then MsgBox "托運(yùn)單號不能為空", 48, "提示信息" Else AdoRs2.Open "select * from tb_Goods_ztgz where ztgz_id=" + Text1(0) + "", Cnn, adOpenKeyset If AdoRs2.RecordCount > 0 Then MsgBox "該信息已經(jīng)存在", 48, "提示信息"
65、 Else c = MsgBox("確認(rèn)保存信息嗎", 33, "提示信息") If c = vbOK Then Set AdoRs = Cnn.Execute("insert into tb_Goods_ztgz values(" & Text1(0) & "," & Text1(1) & "," & Text1(2) & "," & Text1(3) & "," & Text1(4) & "," & Text1(5) & "," & Str(DT1.Value) & ","
66、 & Text1(6) & ")") AdoRs.Open "select * from tb_Goods_ztgzlx where ztgzlx_tydh=" + Text1(1) + "", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Call DDTJ 統(tǒng)計(jì)到達(dá)的路線 Set AdoRs = Cnn.Execute("UPDATE tb_Goods_ztgzlx SET ztgzlx_lx=" + Txt_lx + " where z
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全員設(shè)備管理TMP培訓(xùn)
- 儲運(yùn)部人員崗位職責(zé)
- 制造業(yè)企業(yè)崗位評分標(biāo)準(zhǔn)模板
- 醫(yī)院科室會議組織與演講
- 醫(yī)生門診英語情景對話
- (精品)7.蟋蟀的住宅
- 適合做標(biāo)題的邊框
- (精品)05W網(wǎng)規(guī)高培-BE業(yè)務(wù)速率控制
- (精品)禽病學(xué)禽病臨床診斷彩色圖譜77肉雞猝
- 精益推動-啟動大會
- 從經(jīng)濟(jì)學(xué)的角度看
- 如何做個優(yōu)秀的管理者
- 氣管切開病人的護(hù)理課件-培訓(xùn)講學(xué)
- 世界三大農(nóng)業(yè)數(shù)據(jù)庫概述
- 一年級語文媽媽睡了課件