物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文范文_第1頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文范文_第2頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文范文_第3頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文范文_第4頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文范文_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、吉林省明日科技有限公司監(jiān)制物流管理系統(tǒng)學(xué) 院專 業(yè)班 級(jí)學(xué) 號(hào)姓 名指導(dǎo)教師教師職稱年月日 39 摘要【摘要】隨著市場經(jīng)濟(jì)的高速發(fā)展,制造業(yè)、商業(yè)企業(yè)逐步接受著第三方物流服務(wù)。越來越多的企業(yè)認(rèn)識(shí)到物流企業(yè)外包是降低成本、提高服務(wù)水平的有效渠道。物流管理的特點(diǎn)是以客戶為核心、構(gòu)建面向客戶的業(yè)務(wù)流程支持各種形式、各種需求的現(xiàn)在企業(yè)中的業(yè)務(wù)模式。系統(tǒng)支持多形式客戶的數(shù)據(jù)共享、提高作業(yè)效率、監(jiān)控整個(gè)流程、提供完整的貨品、進(jìn)行訂單跟蹤,并且特別關(guān)注對(duì)各環(huán)節(jié)業(yè)務(wù)的監(jiān)控及例外情況的監(jiān)控。【關(guān)鍵詞】 客戶 物流 物流管理系統(tǒng)目錄摘要1目錄1引言11 系統(tǒng)分析21.1 需求分析21.2 可行性分析22 總體設(shè)計(jì)

2、22.1 項(xiàng)目規(guī)劃22.2 系統(tǒng)功能結(jié)構(gòu)圖33 詳細(xì)設(shè)計(jì)33.1 系統(tǒng)登錄設(shè)計(jì)33.2 車輛調(diào)度安排63.3 托運(yùn)申請(qǐng)單管理83.4 貨物托運(yùn)管理113.5 在途跟蹤管理173.6 信息查詢20附錄A 參考文獻(xiàn)30附錄B 數(shù)據(jù)表結(jié)構(gòu)31附錄C 文件架構(gòu)圖37引言在當(dāng)今高速發(fā)展的信息社會(huì),現(xiàn)代物流行業(yè)突飛猛進(jìn)發(fā)展,伴隨著我國國民經(jīng)濟(jì)連續(xù)多年的高速增長,為現(xiàn)代物流發(fā)展創(chuàng)造了良好的條件。目前,我國各類物流企業(yè)有14萬家左右,展望整個(gè)21世紀(jì),可以說現(xiàn)代物流業(yè)還將有更大的發(fā)展。在發(fā)達(dá)國家,物流理論促使物流實(shí)踐快速發(fā)展。經(jīng)濟(jì)全球化及現(xiàn)代物流業(yè)發(fā)展的系統(tǒng)化、信息化、倉儲(chǔ)運(yùn)輸?shù)默F(xiàn)代化和綜合化等趨勢,對(duì)我國物

3、流業(yè)的發(fā)展提出了全方位的挑戰(zhàn)。傳統(tǒng)物流行業(yè)的操作模式已經(jīng)不適應(yīng)現(xiàn)代的物流行業(yè),如何縮短物流過程,降低產(chǎn)品庫存,加速對(duì)市場的反應(yīng),這是所有企業(yè)所面對(duì)的問題。本系統(tǒng)就是針對(duì)這些問題根據(jù)中小型企業(yè)的實(shí)際需求而開發(fā)的一套物流管理系統(tǒng)。系統(tǒng)的開發(fā)能夠幫助企業(yè)實(shí)現(xiàn)對(duì)物流全過程的優(yōu)化調(diào)度和動(dòng)態(tài)控制,高效整合企業(yè)的物流業(yè)務(wù),以全面提高經(jīng)濟(jì)效益和效率為目的,提供高效、實(shí)用、技術(shù)的物流管理系統(tǒng)和運(yùn)營手段。物流管理系統(tǒng)是集現(xiàn)代運(yùn)輸、倉儲(chǔ)配送、搬運(yùn)、調(diào)度、跟蹤為一體的網(wǎng)絡(luò)系統(tǒng),系統(tǒng)的開發(fā)實(shí)現(xiàn)了商品從原料供應(yīng)商、制造商、分銷商到零售商再到消費(fèi)者的各個(gè)環(huán)節(jié)的有機(jī)結(jié)合。1 系統(tǒng)分析1.1 需求分析通過市場調(diào)查,要求本系統(tǒng)具

4、有以下功能:q 統(tǒng)一友好的操作界面,能保證系統(tǒng)的易用性。q 規(guī)范、完善的基礎(chǔ)信息設(shè)置。q 靈活的報(bào)表設(shè)計(jì)及打印功能。q 實(shí)現(xiàn)貨物申請(qǐng)、托運(yùn)、跟蹤與驗(yàn)收的全過程。q 全方位的信息查詢功能。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ù)操作中對(duì)業(yè)務(wù)數(shù)據(jù)處理的準(zhǔn)確性和嚴(yán)密性,而更高層次上

5、,還牽涉到公司決策層對(duì)整體業(yè)務(wù)的控制和協(xié)調(diào)。物流管理系統(tǒng)從物流行業(yè)的實(shí)際需求出發(fā),參照先進(jìn)的物流理念和多家領(lǐng)先的物流公司實(shí)際的運(yùn)營流程開發(fā)而成,系統(tǒng)從完善的基礎(chǔ)信息設(shè)置到貨物的托運(yùn)管理、在線跟蹤,信息查詢、到最后各種報(bào)表的生成,清晰的業(yè)務(wù)流程,使操作人員能夠按照流程清晰的進(jìn)行實(shí)際的操作,保證物流運(yùn)作有序而高效的進(jìn)行。2 總體設(shè)計(jì)2.1 項(xiàng)目規(guī)劃物流管理系統(tǒng)是一個(gè)典型的數(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è)

6、置和車輛資料設(shè)置。q 貨物托運(yùn)管理模塊該模塊主要由車輛調(diào)度安排、托運(yùn)申請(qǐng)單管理、貨物托運(yùn)單管理、貨物驗(yàn)收單管理和車輛配送跟蹤記錄單管理幾部分組成。q 信息查詢模塊該模塊由貨物申請(qǐng)單查詢、車輛調(diào)度信息查詢、貨物托運(yùn)信息查詢、貨物托運(yùn)驗(yàn)收查詢和車輛在途跟蹤查詢幾部分組成。q 報(bào)表管理模塊包括貨物申請(qǐng)單報(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)登錄主要用于對(duì)登錄物流管理系統(tǒng)的用戶進(jìn)行安全性檢查

7、,以防止非法用戶登錄該系統(tǒng)。根據(jù)給管理員分配的權(quán)限,登錄用戶可以根據(jù)自己所具有的權(quán)限操作系統(tǒng)中相應(yīng)的功能。在登錄系統(tǒng)時(shí)驗(yàn)證操作員及其密碼,主要通過ADO控件中記錄集(RecordSet)對(duì)象結(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個(gè)窗體,將窗體的名稱設(shè)置為“frm_xtdl”,BorderStyle屬性設(shè)置為“0-None”,通過設(shè)置Picture屬性為窗體添加圖片。(2)在窗體上添加Adodc控件,由

8、于該控件屬于ActiveX控件,在使用之前必須從“部件”對(duì)話框中添加到工具箱。添加方法如下:在“工程”/“部件”對(duì)話框中勾選“Microsoft Ado Data Controls 6.0(SP4)”列表項(xiàng),單擊【確定】按鈕之后即可將Ado控件添加到工具箱當(dāng)中。(3)在窗體中添加1個(gè)ComboBox控件和文本框控件,分別設(shè)置名稱為Name屬性為“Cbx_Name”和“txt_Password”,設(shè)置BorderStyle屬性為“0-None”,將ComboBox控件的Text屬性設(shè)置為“MR”。(4)在窗體中添加2個(gè)CommandButton控件,分別將Name屬性設(shè)置為“Cmd_Ok”和“C

9、md_Cancel”,Caption屬性設(shè)置為“登錄”和“取消”。登錄窗體的設(shè)計(jì)結(jié)果如圖3所示圖3 系統(tǒng)登錄窗體的設(shè)計(jì)界面2代碼設(shè)計(jì)在代碼窗口的聲明部分定義如下變量:Dim itmX As ListItem '定義一個(gè)ListItem對(duì)象Dim key As String '定義字符串變量在窗體裝載事件中,通過ADO控件的ConnectionString屬性建立數(shù)據(jù)庫連接,同時(shí)將所有操作員的姓名添加到Cbx_Name控件當(dāng)中,代碼如下:Private Sub Form_Load() Call WHScreen '調(diào)用獲取屏幕分辨率的過程函數(shù)'使用代碼連接數(shù)據(jù)庫與

10、數(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ù)時(shí),首先清空控件中的內(nèi)容 Do While Adodc1.Recordset.EOF = False '將操作員信息添加到ListView控件當(dāng)中 Cbx_Name.AddIte

11、m (Adodc1.Recordset.Fields("user_name") Adodc1.Recordset.MoveNext Loop End If If TWidth <= 800 Or THeigth <= 600 Then '判斷屏幕分辨率的大小 Exit Sub Else ChangeScreen '調(diào)整屏幕分辨率 End IfEnd Sub單擊【確定】按鈕,如果輸入的操作員姓名和口令正確,則通過身份驗(yàn)證,登錄到系統(tǒng)當(dāng)中。設(shè)計(jì)思路:通過SQL語句查詢輸入的用戶名和密碼信息在數(shù)據(jù)庫中是否存在,如果查詢到符合條件的記錄信息則顯示系統(tǒng)主窗

12、體,登錄到系統(tǒng)當(dāng)中,實(shí)現(xiàn)的程序代碼如下:Private Sub Cmd_Ok_Click()Dim MPassword As StringIf Cbx_Name.Text = "MR" And Txt_Password.Text = "mingrisoft" Then '判斷是否使用的是超級(jí)口令登錄 Frm_Main.StatusBar1.Panels.Item(2).Text = "當(dāng)前操作員: MR" Name1 = Cbx_Name.Text '將操作員姓名信息賦予全局變量Name1 Unload Me Frm_

13、Main.Show '顯示系統(tǒng)主窗體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 T

14、hen '判斷數(shù)據(jù)的密碼是否正確 Name1 = Cbx_Name.Text Frm_Main.StatusBar1.Panels.Item(2).Text = "當(dāng)前操作員: " + Adodc1.Recordset.Fields("user_name") Frm_Main.Show '通過身份驗(yàn)證則顯示主窗體,登錄到系統(tǒng)當(dāng)中 Unload Me Else MsgBox "密碼不正確,請(qǐng)您確認(rèn)后重新輸入", , "提示信息" Txt_Password.Text = "" Txt

15、_Password.SetFocus End If Else MsgBox "對(duì)不起 沒有此用戶的信息", , "提示信息" Cbx_Name.Text = "" Txt_Password.Text = "" End If End IfEnd Sub如果在輸入密碼的文本框中按下Enter鍵,則將調(diào)用【確定】按鈕的單擊事件,判斷登錄用戶是否合法,代碼如下所示。Private Sub Txt_Password_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCod

16、e = 13 Then Call Cmd_Ok_Click '調(diào)用確定按鈕的單擊事件代碼 End IfEnd Sub3.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按鈕選擇車牌號(hào)碼,然后輸入其他一些輔助的信息,最后保存車輛調(diào)度安排信息。車輛調(diào)度安排模塊的運(yùn)行結(jié)果如圖4所示。圖4 車輛調(diào)度安排窗體的運(yùn)行結(jié)果1窗體設(shè)計(jì)(1)在工程中

17、新建1個(gè)窗體,將窗體的名稱設(shè)置為“frm_Cldd”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。(2)在窗體上添加1個(gè)Toolbar控件和1個(gè)ImageList控件。(3)在窗體的Toolbar控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對(duì)話框中設(shè)置窗體的工具欄,設(shè)計(jì)完成的工具欄如圖5所示。(4)在窗體中添加1個(gè)Frame控件,在Frame控件上添加1個(gè)文本框控件數(shù)組,并為每個(gè)文本框控件配置1個(gè)標(biāo)簽控件,并且設(shè)置相應(yīng)的Caption屬性值,如圖5所示。(5)在窗體上添加1個(gè)DTPicker控件,命名為DT

18、1,用于輸入或顯示托運(yùn)司機(jī)執(zhí)行任務(wù)的日期時(shí)間。(6)在窗體上添加1個(gè)Ado控件和1個(gè)DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,AllowUpdate屬性值設(shè)置為False。(7)在窗體中添加1個(gè)標(biāo)簽控件,命名為Lbl_Num。(8)在窗體上添加1個(gè)時(shí)鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。車輛調(diào)度安排窗體的設(shè)計(jì)結(jié)果如圖5所示。圖5 車輛調(diào)度安排窗體的設(shè)計(jì)結(jié)果2代碼設(shè)計(jì)工具欄中的控制按鈕控制著窗體的各項(xiàng)操作,在Toolbar控件Tbr_xxcz的ButtonClick事件當(dāng)中,通過選擇S

19、elect 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 cldd_cphm='&

20、quot; + Text1(0).Text + "'", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then MsgBox "該信息已經(jīng)存在", 48, "提示信息" AdoRs.Close '關(guān)閉記錄集對(duì)象 Else AdoRs.Close '關(guān)閉記錄集對(duì)象 c = MsgBox("確認(rèn)保存信息嗎", 33, "提示信息") If c = vbOK Then Set AdoRs = Cnn.Execute("i

21、nsert into tb_Goods_cldd values('" &Txt_id & "','" & Text1(0)& "','" & Text1(1) & "','" & Text1(2) & "','"& Text1(3) & "','" & Str(DT1.Value) & "

22、9;,'" & Text1(4) & "','" & Text1(5)& "','" & Txt_bz & "')") MsgBox "數(shù)據(jù)保存成功", 64, "提示信息" Else End If Adodc1.RecordSource = "select * from tb_Goods_cldd order by cldd_id" Adodc1.Refresh Cal

23、l DBGCon End If Call Tbr_cortrol(Tbr_xxcz, True) End IfEnd Sub用戶自定義修改信息過程事件的代碼如下: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='&q

24、uot; + 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

25、+ "' 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.Text StrTitle = Text1(0).Text Call joinRZ '添加修改信息日志 Call DBGCon

26、Else End IfEnd Sub用戶自定義刪除信息過程事件的代碼如下:Private Sub Deletes() '刪除信息 c = MsgBox("確認(rèn)刪除該信息嗎", 17, "提示信息") If c = vbOK Then On Error Resume Next '執(zhí)行錯(cuò)誤處理 Set AdoRs = Cnn.Execute("Delete tb_Goods_cldd from tb_Goods_cldd where cldd_id='" + Txt_id.Text + "'&qu

27、ot;) Adodc1.Refresh '刷新數(shù)據(jù)信息 End If For i = 0 To 5 Text1(i).Text = "" Next i Txt_bz.Text = ""End Sub3.3 托運(yùn)申請(qǐng)單管理在正式托運(yùn)貨物之前,需要進(jìn)行托運(yùn)貨物申請(qǐng),在進(jìn)行托運(yùn)貨物申請(qǐng)時(shí)需要填寫托運(yùn)貨物申請(qǐng)單,托運(yùn)申請(qǐng)單經(jīng)過核對(duì)之后,才可以填寫貨物托運(yùn)單進(jìn)行托運(yùn)貨物。在托運(yùn)申請(qǐng)單中記錄的托運(yùn)貨物的詳細(xì)信息,以便托運(yùn)貨物時(shí)進(jìn)行核對(duì)。貨物托運(yùn)申請(qǐng)管理模塊的運(yùn)行結(jié)果如圖6所示。圖6 貨物托運(yùn)申請(qǐng)管理模塊運(yùn)行結(jié)果1窗體設(shè)計(jì)(1)在工程中新建1個(gè)窗體,將窗體的名

28、稱設(shè)置為“frm_Tysq”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置“False”。(2)在窗體上添加1個(gè)Toolbar控件和1個(gè)ImageList控件,為窗體設(shè)計(jì)工具欄。(3)在窗體中添加1個(gè)Frame控件,在Frame控件上添加1個(gè)文本框控件數(shù)組,并為每個(gè)文本控件配置1個(gè)標(biāo)簽控件,設(shè)置相應(yīng)的Caption屬性值,如圖7所示。(4)在Frame控件上添加2個(gè)DTPicker控件,分別名稱命名為DT1和DT2,用于輸入或顯示出貨日期時(shí)間和開票日期。(5)在窗體上添加1個(gè)Ado控件。(6)在窗體中添加1個(gè)標(biāo)簽控件,命名為Lbl_Num。(7)

29、在窗體上添加1個(gè)時(shí)鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。貨物托運(yùn)申請(qǐng)單管理窗體的設(shè)計(jì)結(jié)果如圖7所示。圖7 貨物托運(yùn)管理窗體的設(shè)計(jì)結(jié)果2代碼設(shè)計(jì)當(dāng)窗體啟動(dòng)時(shí),鎖定窗體中文本框,禁止輸入字符信息,同時(shí)通過Ado控件的ConnectionString屬性連接到數(shù)據(jù)庫,實(shí)現(xiàn)代碼如下:Private Sub Form_Load() Call LoadFile '在窗體加載的時(shí)候顯示數(shù)據(jù)信息 For i = 1 To 20 Text1(i).Locked = True '鎖定文本框,禁止輸入字符信息 Next i Adodc1.ConnectionStr

30、ing = 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(ByVal Button

31、 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

32、") + "%' order by sqd_lszh", Cnn, adOpenKeyset '根據(jù)日期產(chǎn)生流水賬號(hào) 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 '刪除

33、信息 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 SelectEnd Sub通過文本框的Change事件,來實(shí)現(xiàn)在另一個(gè)文本框中自動(dòng)計(jì)算合計(jì)金額的功能,實(shí)現(xiàn)的具體代碼如下所示:Private Sub Text1_Change

34、(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 IfEnd Sub3.4 貨物托運(yùn)管理貨物托運(yùn)管理是本系統(tǒng)的核心,在貨物托運(yùn)申

35、請(qǐng)完成之后,就可以填寫貨物托運(yùn)單,托運(yùn)司機(jī)根據(jù)貨物托運(yùn)單將貨物托運(yùn)到客戶手中。對(duì)于同一張貨物托運(yùn)單,可以托運(yùn)多種不同的貨物,在托運(yùn)管理窗體中可以添加或刪除托運(yùn)貨物,還可以通過ListView控件瀏覽貨物托運(yùn)單信息。貨物托運(yùn)管理模塊的運(yùn)行結(jié)果如圖8所示,單擊工具欄中的【添加貨物】按鈕,將彈出增加托運(yùn)貨物窗體,如圖9所示。圖8 貨物托運(yùn)管理模塊的運(yùn)行結(jié)果圖9 增加托運(yùn)貨物窗體1貨物托運(yùn)窗體及增加托運(yùn)貨物窗體的設(shè)計(jì)(1)在工程中新建一個(gè)窗體,將窗體的名稱設(shè)置為“frm_Hpty”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。(2)在窗體上添

36、加Toolbar控件,根據(jù)前面所介紹的方法為窗體設(shè)計(jì)工具欄。(3)在窗體中添加2個(gè)ImageList控件。(4)在窗體上添加1個(gè)ListView控件。(5)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對(duì)話框中選擇“通用”選項(xiàng)卡,在該選項(xiàng)卡中選取“整行選擇”、“網(wǎng)格行”和“熱跟蹤”等復(fù)選框,在“查看”旁的列表框中選擇3-lvwReport,如圖10所示。圖10 設(shè)置控件的顯示模式(6)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出“屬性頁”對(duì)話框中選擇“列首”選項(xiàng)卡,在該選項(xiàng)卡中單擊【插入列】按鈕,然后在“文本”文本框

37、中輸入插入列的標(biāo)題名稱,在“寬度”文本框中輸入插入列的寬度,如圖11所示。圖11 設(shè)置插入列的屬性(7)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對(duì)話框中選擇“圖像列表”選項(xiàng)卡,在該選項(xiàng)卡中的“普通”和“列標(biāo)頭”列表框中分別選擇“ImageList2”,如圖12所示。圖12 連接ImageList2控件(8)在窗體上添加1個(gè)Ado控件。(9)在窗體中添加3個(gè)Frame控件,分別在Frame控件中添加文本框控件和DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,BackColor屬

38、性值設(shè)置為&H00FFFFC0&,設(shè)計(jì)完成的界面如圖13所示。(10)在窗體中添加1個(gè)標(biāo)簽控件,名稱命名為Lbl_Num。(11)在窗體上添加1個(gè)時(shí)鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。貨物托運(yùn)管理窗體的設(shè)計(jì)結(jié)果如圖13所示。圖13 貨物托運(yùn)管理窗體的設(shè)計(jì)界面(12)在工程中添加1個(gè)窗體,將窗體命名為Frm_Tyhwgl,該窗體作為貨物托運(yùn)管理的子窗體,用于為完成為貨物托運(yùn)單添加托運(yùn)貨物的操作。(13)將該窗體的BorderStyle屬性設(shè)置為“1-Fixed Single”。(14)在該窗體上添加1個(gè)Ado控件。(15)在該窗體中添加1個(gè)F

39、rame控件,在Frame控件中添加文本框控件和標(biāo)簽控件。(16)在該窗體中添加1個(gè)DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,設(shè)計(jì)完成的界面如圖14所示。(17)在窗體上添加4個(gè)CommandButton控件,分別將控件的名稱命名為“Cmd_Add”、“Cmd_Save”、“Cmd_Del”、“Cmd_Cancel”,Caption屬性設(shè)置為“添加”、“保存”、“刪除”、“取消”。圖14 托運(yùn)貨物管理窗體的設(shè)計(jì)界面2貨物托運(yùn)管理窗體的代碼設(shè)計(jì)在窗體啟動(dòng)時(shí),通過調(diào)用LoadFile過程,在窗體上顯示數(shù)據(jù),同時(shí)利用Ado對(duì)

40、象計(jì)算出當(dāng)前數(shù)據(jù)庫中數(shù)據(jù)記錄的條數(shù),代碼如下:Private Sub Form_Load() Call RefreshData Call LoadFile For i = 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ù)表中共有 "

41、; & AdoRs.RecordCount & " 條記錄" End If 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

42、_xxcz, False) For i = 0 To 21 Text1(i).Locked = False Text1(i).Text = "" Next i Text1(0).SetFocus '根據(jù)日期產(chǎn)生流水賬號(hào) AdoRs.Open "select * from tb_Goods_tyd where tyd_tydh like '%" + Format(Date, "yyyymmdd") + "%' order by tyd_tydh", Cnn, adOpenKeyset If A

43、doRs.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 Case 2 '刪除信息 Call Deletes Case 3 '修改信息 Call Edits Case 4 '保存信息 Call Saves Case 5 Call Tbr_

44、cortrol(Tbr_xxcz, True) For i = 1 To 21 Text1(i).Text = "" 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_id.Text Frm_Tyhwgl.Cmd_Add.Enabled = False Frm_Tyhwgl.Cmd_Save.

45、Enabled = False Frm_Tyhwgl.Show 1 Case 8 Unload Me End SelectEnd Sub通過單擊選擇ListView控件中的元素(托運(yùn)單號(hào)),然后調(diào)用DataLoad過程在窗體上顯示相對(duì)應(yīng)托運(yùn)單號(hào)的數(shù)據(jù)信息,同時(shí)查詢該記錄是否被修改過,如果修改過則將修改時(shí)間及修改人信息顯示在窗體的Txt_ysrq和Txt_ysr文本框當(dāng)中,代碼如下所示:Private Sub ListView1_Click() AdoRs.Open "select * from tb_Goods_tyd where tyd_tydh='" &

46、 ListView1.SelectedItem & "' order by tyd_tydh", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Call DataLoad '調(diào)用顯示數(shù)據(jù)的過程 End If AdoRs.Close '關(guān)閉數(shù)據(jù)集對(duì)象 AdoRs1.Open "select * from tb_Goods_khys where khys_tydh='" & ListView1.SelectedItem & "'&

47、quot;, Cnn, adOpenKeyset If AdoRs1.RecordCount > 0 Then Txt_ysrq.Text = AdoRs1.Fields("khys_ysrq") Txt_ysr.Text = AdoRs1.Fields("khys_ysr") Else Txt_ysrq.Text = "" Txt_ysr.Text = "" End If AdoRs1.Close Call ShowData '調(diào)用數(shù)據(jù)刷新的過程 Call DBGConEnd Sub通過時(shí)鐘控件,將

48、當(dāng)前數(shù)據(jù)庫中的記錄條數(shù)顯示在標(biāo)簽控件Lbl_Num當(dāng)中,實(shí)現(xiàn)的代碼如下所示:Private Sub Timer1_Timer() On Error Resume Next '執(zhí)行錯(cuò)誤處理的語句 Lbl_Num.Caption = "當(dāng)前數(shù)據(jù)表中共有 " & AdoRs.RecordCount & " 條記錄"End Sub3添加托運(yùn)貨物信息窗體的代碼設(shè)計(jì)在增加托運(yùn)貨物窗體中單擊【添加】按鈕,清空窗體中文本框的信息,代碼如下:Private Sub Cmd_Add_Click() For i = 1 To 4 Text1(i).Te

49、xt = "" Next i Text1(1).SetFocusEnd Sub在窗體中單擊【保存】按鈕,在確認(rèn)該貨物信息沒有被保存之后,保存所添加的貨物信息,同時(shí)刷新窗體中的數(shù)據(jù)信息,代碼如下:Private Sub Cmd_Save_Click() If Text1(0).Text = "" Then MsgBox "托運(yùn)單號(hào)不能為空", 64, "提示信息" Else AdoRs.Open "select * from tb_Goods_hwzx where hwzx_hwid='"

50、 + Text1(1) + "'", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then MsgBox "該貨物已經(jīng)添加過", 64, "提示信息" Else c = MsgBox("確認(rèn)保存信息嗎", 33, "提示信息") If c = vbOK Then Set AdoRs = Cnn.Execute("insert into tb_Goods_hwzx values('" & Text1(1)

51、& "','" & Text1(2) & "','" & Text1(0) & "'," & Text1(3) & "," & Text1(4) & ")") MsgBox "數(shù)據(jù)保存成功", 64, "提示信息" Adodc1.RecordSource = "select * from tb_Goods_hwzx where hwzx

52、_sqdh='" + Text1(0) + "' order by hwzx_hwid" Adodc1.Refresh Call DBGCon Cmd_Add.SetFocus End If End If AdoRs.Close End IfEnd Sub3.5 在途跟蹤管理在途跟蹤是對(duì)正在托運(yùn)的貨物信息進(jìn)行管理,托運(yùn)司機(jī)在托運(yùn)貨物的過程中,每到一個(gè)地方或者在托運(yùn)過程中出現(xiàn)某些異常情況,就會(huì)給托運(yùn)公司反饋一個(gè)信息,托運(yùn)公司將反饋回來的信息進(jìn)行記錄,并且對(duì)反饋回來的異常情況進(jìn)行處理,這個(gè)過程就是在途跟蹤。在途跟蹤管理模塊的運(yùn)行結(jié)果如圖15所示。圖15

53、 在途跟蹤管理模塊運(yùn)行結(jié)果1窗體設(shè)計(jì)(1)在工程中新建1個(gè)窗體,將窗體的名稱設(shè)置為“Frm_Ztgz”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置False。(2)在窗體上添加1個(gè)Toolbar控件和1個(gè)ImageList控件。(3)在窗體上添加1個(gè)ListView控件。(4)在窗體上添加1個(gè)Ado控件。(5)在窗體中添加3個(gè)Frame控件,在Frame控件中添加文本框控件,并設(shè)置控件的相關(guān)屬性。(6)在窗體上添加DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1。在途跟蹤管理窗

54、體的設(shè)計(jì)結(jié)果如圖16所示。圖16 在途跟蹤管理窗體的設(shè)計(jì)2代碼設(shè)計(jì)通過單擊選擇ListView控件中的元素(托運(yùn)單號(hào)),在窗體中即可以顯示相對(duì)應(yīng)托運(yùn)單號(hào)的數(shù)據(jù)信息,同時(shí)查詢tb_Goods_ztgzlx數(shù)據(jù)表,從中檢索出該托運(yùn)單號(hào)的跟蹤路線信息,將其顯示在窗體的Txt_lx.文本框當(dāng)中,實(shí)現(xiàn)的代碼如下所示:Private Sub ListView1_Click() AdoRs.Open "select * from tb_Goods_ztgz where ztgz_cydh='" & ListView1.SelectedItem & "&#

55、39; 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") T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論