物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文

上傳人:痛*** 文檔編號(hào):42692036 上傳時(shí)間:2021-11-27 格式:DOC 頁數(shù):39 大?。?03.52KB
收藏 版權(quán)申訴 舉報(bào) 下載
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁
第1頁 / 共39頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁
第2頁 / 共39頁
物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《物流管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(39頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、吉林省明日科技有限公司監(jiān)制 物流管理系統(tǒng) 學(xué) 院 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 教師職稱 年 月 日 – 39 – 摘要 【摘要】 隨著市場(chǎng)經(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)

2、行訂單跟蹤,并且特別關(guān)注對(duì)各環(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)申請(qǐng)單管理 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ā)展的信息社會(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)代化和綜合化等趨勢(shì),對(duì)我國物流業(yè)的發(fā)展提出了全方位的挑戰(zhàn)。傳統(tǒng)物流行業(yè)的操作模式已經(jīng)不適應(yīng)現(xiàn)代的物流行業(yè),如何縮短物流過程,降低產(chǎn)品庫存,加速對(duì)市場(chǎng)的反應(yīng),這是所有企業(yè)所面對(duì)的問題。本系統(tǒng)就是針對(duì)這些問題根據(jù)中小型企業(yè)的實(shí)際需求而開發(fā)的一套物流管理系統(tǒng)。系統(tǒng)的

4、開發(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 需求分析 通過市場(chǎng)調(diào)查,要求本系統(tǒng)具有以下功能: 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 全方位的信息查詢功能。

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è)競(jìng)爭(zhēng)激烈,這種競(jìng)爭(zhēng),一方面表現(xiàn)在發(fā)展客戶的市場(chǎng)開拓上,另一方面也存在于收集處理信息的速度、廣度和深度,以及在業(yè)務(wù)操作中對(duì)業(yè)務(wù)數(shù)據(jù)處理的準(zhǔn)確性和嚴(yán)密性,而更高層次上,還牽涉到公司決策層對(duì)整體業(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)是一個(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è)置和車輛資料設(shè)置。 q 貨物托運(yùn)管理模塊 該模塊主要由車輛調(diào)度安排、托運(yùn)申請(qǐng)單管理、貨物托運(yùn)單管理、貨物驗(yàn)收單管理和車輛配送跟蹤記錄單管

7、理幾部分組成。 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)行安全性檢查,以防止非法用戶登錄該系統(tǒng)。根據(jù)給管理員分配的權(quán)限,登錄用戶可以根據(jù)自己

8、所具有的權(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控件,由于該控件屬于ActiveX控件,在使用之

9、前必須從“部件”對(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”和“Cmd_Cancel”,Cap

10、tion屬性設(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)用

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ù)時(shí),首先清空控件中的內(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、超級(jí)口令登錄 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 "密碼不正確,請(qǐng)您確認(rèn)后重新輸入", , "提示信息" Txt_Password.Text = "" Txt_Password.SetFocus End If Else

17、 MsgBox "對(duì)不起 沒有此用戶的信息", , "提示信息" 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按鈕選擇車牌號(hào)碼,然后輸入其他一些輔助的信息,最后保存車輛調(diào)度安排信息。車輛調(diào)度安排模塊的運(yùn)行結(jié)果如圖4所示。 圖4 車輛調(diào)度安排窗體的運(yùn)行結(jié)果 1.窗體設(shè)計(jì)

19、 (1)在工程中新建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è)

20、DTPicker控件,命名為DT1,用于輸入或顯示托運(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)操作,在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)閉記錄集對(duì)象 Else AdoRs.Close 關(guān)閉記錄集對(duì)象 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í)行錯(cuò)誤處理 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)申請(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è)窗體,將窗體的名稱設(shè)置為“frm_Tysq”,BorderStyle屬性設(shè)置為“1-Fixed Single”,MaxButton屬性設(shè)置“False”。 (2)在窗體

30、上添加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)在窗體上添加1個(gè)時(shí)鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。 貨物托運(yùn)申請(qǐng)單管理窗體的設(shè)計(jì)結(jié)果如

31、圖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.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)生流水賬號(hào) 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、一個(gè)文本框中自動(dòng)計(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)申請(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)管

39、理模塊的運(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)在窗體上添加Toolbar控件,根據(jù)前面所介紹的方法為窗體設(shè)計(jì)工具欄。 (3)在窗體中添加2個(gè)ImageList控件。 (4)在窗體上添加1個(gè)ListView控件。 (5)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對(duì)話框中選擇“通用”選項(xiàng)卡,在該選項(xiàng)卡中選取“整行選擇

40、”、“網(wǎng)格行”和“熱跟蹤”等復(fù)選框,在“查看”旁的列表框中選擇3-lvwReport,如圖10所示。 圖10 設(shè)置控件的顯示模式 (6)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出“屬性頁”對(duì)話框中選擇“列首”選項(xiàng)卡,在該選項(xiàng)卡中單擊【插入列】按鈕,然后在“文本”文本框中輸入插入列的標(biāo)題名稱,在“寬度”文本框中輸入插入列的寬度,如圖11所示。 圖11 設(shè)置插入列的屬性 (7)在ListView控件上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”項(xiàng),在彈出的“屬性頁”對(duì)話框中選擇“圖像列表”選項(xiàng)卡,在該選項(xiàng)卡中的“普通”和“列標(biāo)頭”列表框中分別

41、選擇“ImageList2”,如圖12所示。 圖12 連接ImageList2控件 (8)在窗體上添加1個(gè)Ado控件。 (9)在窗體中添加3個(gè)Frame控件,分別在Frame控件中添加文本框控件和DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,BackColor屬性值設(shè)置為&H00FFFFC0&,設(shè)計(jì)完成的界面如圖13所示。 (10)在窗體中添加1個(gè)標(biāo)簽控件,名稱命名為Lbl_Num。 (11)在窗體上添加1個(gè)時(shí)鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。 貨物托運(yùn)管理窗體的設(shè)

42、計(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è)Frame控件,在Frame控件中添加文本框控件和標(biāo)簽控件。 (16)在該窗體中添加1個(gè)DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,設(shè)計(jì)完成的界面如圖14所示

43、。 (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ì)象計(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)生流水賬號(hào) 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)單號(hào)),然后調(diào)用DataLoad過程在窗體上顯示相對(duì)應(yīng)托運(yùn)單號(hào)的數(shù)據(jù)信息,同時(shí)查詢?cè)撚涗浭欠癖恍薷倪^,如果修改過則將修改時(shí)間及修改人信息顯示在窗體的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ù)集對(duì)象 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 通過時(shí)鐘控件,將當(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.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í)刷新窗體中的數(shù)據(jù)信息,代碼如下: Private Sub Cmd_Save_Click() If T

55、ext1(0).Text = "" Then MsgBox "托運(yùn)單號(hào)不能為空", 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 在途跟蹤管理 在途跟蹤是對(duì)正在托運(yùn)的貨物信息進(jìn)行管理,托運(yùn)司機(jī)在托運(yùn)貨物的過程中,每到一個(gè)地方或者在托

58、運(yùn)過程中出現(xiàn)某些異常情況,就會(huì)給托運(yùn)公司反饋一個(gè)信息,托運(yùn)公司將反饋回來的信息進(jìn)行記錄,并且對(duì)反饋回來的異常情況進(jìn)行處理,這個(gè)過程就是在途跟蹤。 在途跟蹤管理模塊的運(yùn)行結(jié)果如圖15所示。 圖15 在途跟蹤管理模塊運(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)在窗體中

59、添加3個(gè)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)單號(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 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)閉記錄集對(duì)象 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)閉記錄集對(duì)象 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)單號(hào)不能為空", 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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!