《Access 數(shù)據(jù)庫應(yīng)用》 Access在進(jìn)銷存管理中的應(yīng)用_第1頁
《Access 數(shù)據(jù)庫應(yīng)用》 Access在進(jìn)銷存管理中的應(yīng)用_第2頁
《Access 數(shù)據(jù)庫應(yīng)用》 Access在進(jìn)銷存管理中的應(yīng)用_第3頁
《Access 數(shù)據(jù)庫應(yīng)用》 Access在進(jìn)銷存管理中的應(yīng)用_第4頁
《Access 數(shù)據(jù)庫應(yīng)用》 Access在進(jìn)銷存管理中的應(yīng)用_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、access 2007數(shù)據(jù)庫應(yīng)用 - access在進(jìn)銷存管理中的應(yīng)用 第12章access在進(jìn)銷存管理 中的應(yīng)用 本章學(xué)習(xí)要點 l 了解進(jìn)銷存系統(tǒng)的概念 l 系統(tǒng)的功能設(shè)計 l 系統(tǒng)的模塊設(shè)計 l 表和表關(guān)系的設(shè)計 l 查詢的設(shè)計 l 窗體的創(chuàng)建 l 報表的創(chuàng)建 l 宏命令和vba代碼的創(chuàng)建 l 系統(tǒng)的運行與應(yīng)用 12.1 實 例 導(dǎo) 航 l系統(tǒng)功能 l開發(fā)要點 12.1.1 系統(tǒng)功能 l 我們所設(shè)計的進(jìn)銷存系統(tǒng)的主要功能包括如下。 商品基本信息的管理:用來處理進(jìn)出庫的商品信息,包括 新建、修改、刪除和查詢等。 訂單信息的處理:是整個系統(tǒng)的工作流程的起點,包括訂 單的增減、查詢,以及訂單在處

2、理過程中(如發(fā)貨確認(rèn)等) 狀態(tài)的改變。 產(chǎn)品入庫出庫管理:完成記錄,修改商品入出庫信息,并 有庫存報表功能。 查詢功能:允許管理員可以按編號、日期對進(jìn)貨商的銷售 信息進(jìn)行查詢;對入庫的產(chǎn)品信息進(jìn)行詳細(xì)的查詢,包括 編號、名稱、入庫時間等。 12.1.2 開發(fā)要點 l理解數(shù)據(jù)表的結(jié)構(gòu),掌握各表之間關(guān)系的 建立原理,熟悉查詢和窗體的設(shè)計,對進(jìn) 銷存管理系統(tǒng)有比較清楚的了解,從而開 發(fā)出完整的進(jìn)銷存管理系統(tǒng)。 12.2 系統(tǒng)需求分析設(shè)計 l需求分析 l模塊設(shè)計 12.2.1 需求分析 l用戶的需求主要有以下內(nèi)容。 將訂單、商品、供應(yīng)商、客戶、商品、進(jìn)貨、銷 售等信息錄入管理系統(tǒng),提供修改和查詢。 能

3、夠?qū)Ω黝愋畔⑻峁┎樵儭?能夠統(tǒng)計進(jìn)出庫的各類信息,對進(jìn)庫、銷售、庫 存進(jìn)行匯總,協(xié)調(diào)各部門的相互工作。 12.2.2 模塊設(shè)計 l 按照前面的需求分析,我們設(shè)計的進(jìn)銷存系統(tǒng)分 為以下幾個模塊。 系統(tǒng)的基本配置模塊:包括產(chǎn)品、供應(yīng)商、客戶的基本資 料的錄入。 產(chǎn)品進(jìn)出庫處理模塊:主要包括對訂單信息的處理和采購 單的處理,一般產(chǎn)品入出庫的處理。 查詢模塊:對系統(tǒng)中的各類信息,如供應(yīng)商資料、出入庫 詳細(xì)資料等進(jìn)行查詢,支持多個條件的復(fù)合查詢。 報表顯示模塊:根據(jù)用戶的需要和查詢結(jié)果來生成報表。 12.3 數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計 l數(shù)據(jù)表結(jié)構(gòu)需求分析 l建立空數(shù)據(jù)庫系統(tǒng) l創(chuàng)建數(shù)據(jù)表 l定義數(shù)據(jù)表之間的關(guān)系

4、 12.3.1 數(shù)據(jù)表結(jié)構(gòu)需求分析 l 在本系統(tǒng)中,我們設(shè)計了10張數(shù)據(jù)表,各個表存儲的信息如下所示。 “管理員”表:存放系統(tǒng)管理人員信息,一般是企業(yè)管理人員的用戶名 和密碼。 “產(chǎn)品信息”表:存儲產(chǎn)品的基本信息,如產(chǎn)品編號、產(chǎn)品名稱、規(guī)格 型號、計量單位、供應(yīng)商編號、產(chǎn)品類別等。 “供應(yīng)商”表:存放產(chǎn)品供應(yīng)商的相關(guān)信息,比如供應(yīng)商編號、供應(yīng) 商 名稱、聯(lián)系人姓名、聯(lián)系人職務(wù)、業(yè)務(wù)電話、電子郵件等。 “客戶”表:記錄客戶的基本信息,比如客戶編號、客戶姓名、客戶地 址、聯(lián)系電話、電子郵件、備注等。 “訂單”表:記錄訂單的基本信息,如訂單編號、客戶編號、產(chǎn)品編號、 供應(yīng)商編號、銷售單價、訂購數(shù)量、

5、訂單金額、預(yù)定時間、訂單時間等 基本預(yù)訂信息。 “訂單處理明細(xì)”表:除了訂單基本信息外,還要增加付款信息和發(fā)貨 信息,如付款方式、付款時間、發(fā)貨地址、發(fā)貨時間、發(fā)貨人等。 “入庫記錄”表:存放產(chǎn)品入庫的信息。 “出庫記錄”表:存放產(chǎn)品出庫的信息。 “業(yè)務(wù)類別”表:記錄進(jìn)出庫的業(yè)務(wù)類型。 “庫存”表:記錄產(chǎn)品的庫存信息。 12.3.2 建立空數(shù)據(jù)庫系統(tǒng) l 建立一個“進(jìn)銷存管理系統(tǒng).accdb”空白數(shù)據(jù)庫。 第一步:打開access 2007,單擊【開始使用 microsoft office access】頁中的【空白數(shù)據(jù)庫】 按鈕,如下圖所示。 第二步:系統(tǒng)出現(xiàn)如下圖所示的窗口,選擇 合適的路

6、徑,輸入數(shù)據(jù)庫名稱為“進(jìn)銷存系 統(tǒng).accdb”。 12.3.2 建立空數(shù)據(jù)庫系統(tǒng) l 建立一個“進(jìn)銷存管理系統(tǒng).accdb”空白數(shù)據(jù)庫。 第三步:單擊【創(chuàng)建】按鈕,完成該數(shù)據(jù)庫的創(chuàng)建。系統(tǒng)自動建立了一個名為“表1” 的數(shù)據(jù)表。 12.3.3 創(chuàng)建數(shù)據(jù)表 l “管理員”表 l “產(chǎn)品信息”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 用戶名文本18否 密碼文本18否 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 產(chǎn)品編號數(shù)字 是 產(chǎn)品名稱文本18否 規(guī)格型號文本255否 計量單位文本20否 供應(yīng)商編號數(shù)字9否 產(chǎn)品類別文本18否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “供應(yīng)商”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵

7、供應(yīng)商編號數(shù)字9是 供應(yīng)商名稱文本18否 聯(lián)系人姓名文本18否 聯(lián)系人職務(wù)文本18否 業(yè)務(wù)電話文本20否 電子郵件文本40否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “客戶”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 客戶編號數(shù)字9是 客戶姓名文本18否 客戶地址文本255否 聯(lián)系電話文本20否 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 電子郵件文本40否 備注文本255否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “訂單”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 訂單編號數(shù)字9是 客戶編號數(shù)字9否 產(chǎn)品編號數(shù)字9否 供應(yīng)商編號數(shù)字9否 銷售單價貨幣否 訂購數(shù)量數(shù)字10否 訂單金額貨幣否 預(yù)定時間日期/時間否 訂單時間日期/時

8、間否 備注文本20否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “訂單處理明細(xì)”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 訂單編號數(shù)字9是 客戶編號數(shù)字9否 產(chǎn)品編號數(shù)字9 供應(yīng)商編號數(shù)字9否 預(yù)定時間日期/時間否 發(fā)貨時間日期/時間 銷售單價貨幣 否 訂購數(shù)量數(shù)字10否 訂單金額貨幣 否 付款方式文本8否 付款時間日期/時間否 發(fā)貨地址文本255否 發(fā)貨人文本18否 狀態(tài)文本40否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “入庫記錄”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 入庫編號數(shù)字20是 業(yè)務(wù)類別數(shù)字2否 產(chǎn)品編號數(shù)字9否 供應(yīng)商編號數(shù)字9否 入庫時間日期/時間否 入庫單價貨幣否 入庫數(shù)量數(shù)字10否 入庫金額貨

9、幣否 經(jīng)辦人文本18否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “出庫記錄”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 出庫編號數(shù)字20是 業(yè)務(wù)類別數(shù)字2否 產(chǎn)品編號數(shù)字9否 供應(yīng)商編號數(shù)字9否 出庫時間日期/時間否 出庫單價貨幣否 出庫數(shù)量數(shù)字10否 出庫金額貨幣否 經(jīng)辦人文本18否 12.3.3 創(chuàng)建數(shù)據(jù)表 l “業(yè)務(wù)類別”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 業(yè)務(wù)類別數(shù)字9是 業(yè)務(wù)名稱文本20否 收發(fā)標(biāo)志是/否否 l “庫存”表 字 段 名數(shù)據(jù)類型字段寬度是否主鍵 產(chǎn)品編號數(shù)字9是 供應(yīng)商編號數(shù)字9是 庫存量數(shù)字10否 12.3.4 定義數(shù)據(jù)表之間的關(guān)系 l 建立“產(chǎn)品信息”表和“出庫記錄”表之間的

10、表 關(guān)系。 第一步:啟動access 2007,打開“進(jìn)銷存管理系統(tǒng).accdb”。 第二步:切換到【數(shù)據(jù)庫工具】選項卡, 單擊【關(guān)系】按鈕,如下圖所示。 第三步:單擊右鍵,在彈出的快捷菜單中選 擇【顯示表】命令,按住ctrl鍵,選擇所有 的表,然后單擊【添加】按鈕,把所有的表 都添加上去,如下圖所示。 12.3.4 定義數(shù)據(jù)表之間的關(guān)系 l 建立“產(chǎn)品信息”表和“出庫記錄”表之間的表 關(guān)系。 第四步:設(shè)置表的參照完整性。我們以“產(chǎn)品信 息”表中的“產(chǎn)品編號”字段與“出庫記錄”表 中的“產(chǎn)品編號”字段為例。按下鼠標(biāo)左鍵拖動 “產(chǎn)品信息”表中的“產(chǎn)品編號”字段到“出庫 記錄”表中的“產(chǎn)品編號”字

11、段上,釋放鼠標(biāo)左 鍵,系統(tǒng)彈出【編輯關(guān)系】對話框,如下圖所示。 第五步:選中【實施參照完整性】復(fù)選框, 這樣就建立了表之間的一對多關(guān)系,如下圖 所示。 12.3.4 定義數(shù)據(jù)表之間的關(guān)系 按照同樣的步驟,可以建立起其他表 之間的關(guān)系。最終建立了下面的關(guān)系圖。 我們設(shè)計的數(shù)據(jù)庫表中,各種表關(guān)系如下表所示。 表 名字段名稱相關(guān)表名字段名稱 供應(yīng)商供應(yīng)商編號產(chǎn)品信息供應(yīng)商編號 供應(yīng)商供應(yīng)商編號入庫記錄供應(yīng)商編號 供應(yīng)商供應(yīng)商編號出庫記錄供應(yīng)商編號 供應(yīng)商供應(yīng)商編號庫存供應(yīng)商編號 供應(yīng)商供應(yīng)商編號訂單供應(yīng)商編號 供應(yīng)商供應(yīng)商編號訂單處理明細(xì)供應(yīng)商編號 產(chǎn)品信息產(chǎn)品編號訂單產(chǎn)品編號 產(chǎn)品信息產(chǎn)品編號訂單

12、處理明細(xì)產(chǎn)品編號 產(chǎn)品信息產(chǎn)品編號入庫記錄產(chǎn)品編號 產(chǎn)品信息產(chǎn)品編號出庫記錄產(chǎn)品編號 產(chǎn)品信息產(chǎn)品編號庫存產(chǎn)品編號 業(yè)務(wù)類別業(yè)務(wù)類別入庫記錄業(yè)務(wù)類別 業(yè)務(wù)類別業(yè)務(wù)類別出庫記錄業(yè)務(wù)類別 12.4 窗體的實現(xiàn) l“登錄”窗體 l“切換面板”窗體 l“訂單處理”窗體 l“發(fā)貨確認(rèn)”窗體 l“產(chǎn)品進(jìn)庫”窗體 l“供應(yīng)商查詢編輯”窗體 l“進(jìn)貨資料查詢”窗體 l“密碼管理”窗體 12.4.1 “登錄”窗體 l 運用“模式對話框”窗體,設(shè)計本系統(tǒng)的“登錄” 窗體。 第一步:啟動access 2007,打開“進(jìn)銷存管理系統(tǒng).accdb”數(shù)據(jù)庫。 第二步:切換到【創(chuàng)建】選項卡,選擇【窗體】 組中【其他窗體】下

13、拉菜單中的【模式對話框】 選項,如下圖所示。 第三步:出現(xiàn)一張空白窗體,已有兩個按鈕: 【確定】和【取消】,如下圖所示。 12.4.1 “登錄”窗體 l 運用“模式對話框”窗體,設(shè)計本系統(tǒng)的“登錄” 窗體。 控件名稱屬 性屬 性 值 label1標(biāo)題進(jìn)銷存登錄 label2標(biāo)題用戶名: label3標(biāo)題密碼: txt_name txtpwd輸入掩碼密碼 btn_ok btn_cancel 第四步:調(diào)整窗體布局,在窗體上添加幾 個控件,屬性值設(shè)置如下表所示。 第五步:設(shè)置主體背景顏色。在主體區(qū)域中右 擊,在彈出的快捷菜單中選擇【填充/背景色】 選項,彈出如下圖所示的菜單。 12.4.1 “登錄”

14、窗體 l 運用“模式對話框”窗體,設(shè)計本系統(tǒng)的“登錄” 窗體。 第六步:調(diào)整窗體布局,完成后的“登錄”窗體如下圖所示。 12.4.2 “切換面板”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“切換 面板”窗體。 第一步:啟動access 2007,打開“進(jìn)銷存管理系統(tǒng).accdb”數(shù)據(jù)庫。 第二步:切換到【創(chuàng)建】選項卡,單擊 【窗體】組中的【窗體設(shè)計】按鈕,出 現(xiàn)一張空白窗體。 第三步:調(diào)整窗體布局。添加一個“矩形”控件, “背景”屬性設(shè)為“#9dbb61”。添加標(biāo)題控件,并 將標(biāo)題設(shè)為“進(jìn)銷存系統(tǒng)示例”。添加一個徽標(biāo)控 件,圖片為“羅斯文.png”,創(chuàng)建后的效果如下圖所 示。 12.4.2

15、 “切換面板”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“切換 面板”窗體。 控件名稱屬 性屬 性 值 image2圖片兒童.jpg label1標(biāo)題進(jìn)銷存系統(tǒng)示例 label2標(biāo)題訂單處理 label3標(biāo)題產(chǎn)品入庫 label4標(biāo)題發(fā)貨確認(rèn) label5標(biāo)題供應(yīng)商資料查詢 label6標(biāo)題進(jìn)貨資料查詢 label7標(biāo)題密碼管理 option1標(biāo)題 option2標(biāo)題 option3標(biāo)題 option4標(biāo)題 option5標(biāo)題 option6標(biāo)題 btn_retrun標(biāo)題退出系統(tǒng) 第四步:利用命令按鈕控件和標(biāo)簽控件,為窗體添加幾 個按鈕和標(biāo)簽,來處理管理員的操作。各個控件的屬性 設(shè)置如下表

16、所示。 第五步:這樣就完成了“切換面板”窗 體的創(chuàng)建,完成后的結(jié)果如下圖所示。 12.4.3 “訂單處理”窗體 l 運用窗體向?qū)?,設(shè)計本系統(tǒng)的“訂單處理”窗體。 第一步:啟動access 2007,打開“進(jìn)銷存管理系統(tǒng).accdb”數(shù)據(jù)庫。 第二步:切換到【創(chuàng)建】選項卡,選擇【窗 體】組中【其他窗體】下拉菜單中的【窗體 向?qū)А窟x項。 第三步:按照前面章節(jié)介紹的步驟,在【表/查 詢】下拉列表框中選擇“表:訂單”,將【可 選字段】列表框中的所有字段加入右面【選定 字段】列表框中,然后依次確定即可。系統(tǒng)自 動生成的窗體如下圖所示。 12.4.3 “訂單處理”窗體 l 運用窗體向?qū)ВO(shè)計本系統(tǒng)的“訂單

17、處理”窗體。 第四步:若要加上按鈕控件,則切換到【窗體 設(shè)計工具】選項卡,單擊【使用控件向?qū)А堪?鈕,則所有添加控件都會在向?qū)J较逻M(jìn)行。 第五步:單擊【命令控件】按鈕,出現(xiàn)如下 圖所示的【命令按鈕向?qū)А繉υ捒?,我們?“保存記錄”為例加以說明。 12.4.3 “訂單處理”窗體 l 運用窗體向?qū)ВO(shè)計本系統(tǒng)的“訂單處理”窗體。 第六步:單擊【下一步】按鈕,為按鈕 添加上合適的圖標(biāo)或者文字,如下圖所 示。 第七步:單擊【下一步】按鈕,在彈出的指定 按鈕名稱的對話框中輸入該按鈕的名稱,如下 圖所示。 12.4.3 “訂單處理”窗體 l 運用窗體向?qū)ВO(shè)計本系統(tǒng)的“訂單處理”窗體。 第八步:修改如下

18、表所示主要控件的屬性,設(shè) 置窗體的頁眉和頁腳。 第九步:這樣我們就完成了“訂單處理”窗 體的創(chuàng)建過程,完成后的界面如下圖所示。 控件名稱屬 性屬 性 值 image1圖片羅斯文.png text1控件來源 =replace(訂單 #|,|, nz(訂單編 號,(新) btn_add背景樣式透明 btn_save背景樣式透明 btn_del背景樣式透明 btn_query背景樣式透明 btn_return背景樣式透明 label7背景樣式透明 option1option6標(biāo)題 btn_retrun標(biāo)題退出系統(tǒng) 12.4.4 “發(fā)貨確認(rèn)”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“發(fā)貨確認(rèn)”窗

19、體。 第一步:單擊右鍵,在彈出的快捷菜單中選擇【窗體頁眉/頁腳】選項,進(jìn)行窗體頁眉設(shè)置。步 驟和前面一樣,這里不再贅述。 第二步:在窗體上添加控件,屬性見下表所示。 控件名稱屬 性屬 性 值 label2標(biāo)題 請查看下面的訂單信息: txt_no所有屬性默認(rèn) label_type標(biāo)題支付方式 combo1行來源“支票”;“信用卡”;“現(xiàn)金” label_date標(biāo)題付款日期 txt_paydate所有屬性默認(rèn) label_address標(biāo)題送貨地址 txt_address所有屬性默認(rèn) label_name標(biāo)題送貨人 txt_name所有屬性默認(rèn) label_date2標(biāo)題送貨日期 txt_da

20、te所有屬性默認(rèn) btn_ok標(biāo)題確認(rèn) btn_cancel標(biāo)題取消 btn_return標(biāo)題返回 第三步:完成后的“發(fā)貨確認(rèn)”窗體如 下圖所示。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第一步:單擊【創(chuàng)建】選項卡中【窗體】組中的【窗 體設(shè)計】按鈕,會出現(xiàn)一個空白窗體。 第二步:為窗體設(shè)計一個窗體頁眉,單擊右 鍵,彈出如下快捷菜單。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第三步:選擇【窗體頁眉/頁腳】選項,窗 體中出現(xiàn)【窗體頁眉】區(qū)域,如下圖所示。 第四步:為窗體添加一個標(biāo)簽,設(shè)置標(biāo)題

21、為“產(chǎn) 品進(jìn)庫管理”,再添加一個徽標(biāo)控件,圖片設(shè)置 為“羅斯文.png”。 第五步:為窗體添加表中的字段。單擊【主體】 區(qū)域,單擊【設(shè)計】選項卡下的【添加現(xiàn)有字 段】按鈕,彈出【字段列表】窗格,如下圖所 示。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第六步:將“入庫記錄”表的所有字段添加到窗體上,并排列整齊。 第七步:為窗體增加4個導(dǎo)航按鈕,分別為“第 一個”、“前一個”、“后一個”、“最后一 個”。添加的方法利用【命令按鈕向?qū)А繉υ?框,如下圖所示。 第八步:用同樣的方法,為窗體加上幾個功 能按鈕,標(biāo)題分別為“添加記錄”、“保存 記錄”、

22、“刪除記錄”、“進(jìn)貨查詢”、 “庫存查詢”和“返回”。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第九步:如果要查看數(shù)據(jù)表格式的入庫記錄,我們可以在窗體上添加一個子窗體。 第十步:單擊【控件】組中的【子窗體/ 子報表】按鈕,并拖放到窗體中,出現(xiàn) 【子窗體向?qū)А繉υ捒颍缦聢D所示。 第十一步:選中【使用現(xiàn)有的表和查詢】單選按鈕, 單擊【下一步】按鈕,彈出選擇字段的對話框。在 對話框的【表/查詢】下拉列表框中選擇“表:入庫 記錄”,并把“入庫記錄”表的全部字段加入到 【選定字段】列表框中,如下圖所示。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體

23、的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第十二步:單擊【下一步】按鈕,在彈出的對話 框中選擇主/次字段的鏈接方式。我們選中【從列 表中選擇】單選按鈕,并在下面的列表框中選擇 用“入庫編號”顯示,如下圖所示。 第十三步:單擊【下一步】按鈕,在彈 出的對話框中輸入子窗體的名稱,如下 圖所示。 12.4.5 “產(chǎn)品進(jìn)庫”窗體 l 運用窗體的【設(shè)計視圖】,設(shè)計本系統(tǒng)的“產(chǎn)品 進(jìn)庫”窗體。 第十四步:調(diào)整窗體的布局,這樣我們就完成了“產(chǎn)品進(jìn)庫”窗體的創(chuàng)建。最終的創(chuàng)建效果如 下圖所示。 12.4.6 “供應(yīng)商查詢編輯”窗體 l 運用窗體的窗體向?qū)ВO(shè)計本系統(tǒng)的“供應(yīng)商查 詢編輯”窗體。 第一步:

24、切換到【創(chuàng)建】選項卡,選擇【其他 窗體】下拉菜單中的【窗體向?qū)А窟x項,如下 圖所示。 第二步:按照向?qū)У奶崾?,在【?查詢】 下拉列表框中選擇“表:供應(yīng)商”,將【可 選字段】列表框中的所有字段加入到右面 【選定字段】列表框中。其他設(shè)置按照以前 的介紹設(shè)置,最后生成的窗體如下圖所示。 12.4.6 “供應(yīng)商查詢編輯”窗體 l 運用窗體的窗體向?qū)ВO(shè)計本系統(tǒng)的“供應(yīng)商查 詢編輯”窗體。 第三步:我們還要在這個窗體上加上“記錄導(dǎo)航”按鈕和“記錄操作”按鈕,注意在“使用控件向 導(dǎo)”下添加。 第四步:還添加了另外幾個控件,屬性設(shè)置 見下表所示。 第五步:調(diào)整窗體布局,完成后的窗體如下圖所 示。 控件名稱

25、屬 性屬 性 值 image1圖片羅斯文.png label1標(biāo)題供應(yīng)商管理查詢 label2標(biāo)題起始日期 txt_date1 label3標(biāo)題至 label4標(biāo)題截至日期 txt_date2 btn_query標(biāo)題查詢 btn_return標(biāo)題返回 12.4.7 “進(jìn)貨資料查詢”窗體 l 設(shè)計本系統(tǒng)的“供應(yīng)商查詢編輯”窗體,在這里我們將用子窗口的方式來顯 示查詢結(jié)果。 第一步:切換到【創(chuàng)建】選項卡,單擊【窗體】組中的【窗體設(shè)計】按鈕。 第二步:添加若干控件,并設(shè)置它們的屬性值,具體情況如下表所示。 控件名稱屬 性屬 性 值 label1標(biāo)題 進(jìn)貨資料查詢 label2標(biāo)題請選擇查詢的條件:

26、label_name標(biāo)題產(chǎn)品名稱 txt_wuzi標(biāo)題付款信 label_company標(biāo)題公司名稱 combo1行來源 select 供應(yīng)商名稱 from 供應(yīng)商 order by 供應(yīng)商名稱; label_from標(biāo)題日期范圍 txt_date1所有屬性 labet_to標(biāo)題至 txt_date2所有屬性 label_rule 標(biāo)題格式為yy-mm-dd label_person標(biāo)題經(jīng)辦人 進(jìn)貨資料查詢子窗體源對象查詢.進(jìn)貨資料查詢 txt_person所有屬性默認(rèn) btn_query標(biāo)題查詢 btn_cancel標(biāo)題清除 btn_return標(biāo)題返回 12.4.7 “進(jìn)貨資料查詢”窗體

27、l 設(shè)計本系統(tǒng)的“供應(yīng)商查詢編輯”窗體,在這里我們將用子窗口的方式來顯 示查詢結(jié)果。 第五步:調(diào)整窗體布局,完成了“進(jìn)貨資料查詢”窗體的創(chuàng)建,最終效果如下圖所示。 12.4.8 “密碼管理”窗體 l “密碼管理”窗體控件如下表所示。 控件名稱屬性屬性值 btn_add標(biāo)題增加 btn_xiugai標(biāo)題修改 btn_del標(biāo)題刪除 btn_return標(biāo)題返回 label_name標(biāo)題用戶名: label_pwd標(biāo)題密碼: label_pwd2標(biāo)題確認(rèn)密碼: txt_name txt_pwd1 txt_pwd2 l 完成后的“密碼管理”窗體如下圖所示。 12.4.8 “密碼管理”窗體 l “新密

28、碼”窗體控件如下表所示。 l 完成后的“新密碼”窗體如下圖所示。 控件名稱屬 性屬 性 值 label_pwd1標(biāo)題請輸入新密碼: label_pwd2標(biāo)題請再次輸入: new_pwd1 new_pwd2 commmand1標(biāo)題確定 command0標(biāo)題取消 12.5 查詢的實現(xiàn) l“訂單處理查詢”的設(shè)計 l“供應(yīng)商銷售查詢”的設(shè)計 l“進(jìn)貨資料查詢”的設(shè)計 l“庫存查詢”的設(shè)計 12.5.1 “訂單處理查詢”的設(shè)計 l 使用“查詢向?qū)А眮韯?chuàng)建“訂單處理查詢” 第一步:切換到【創(chuàng)建】選項卡,然后單擊 【其他】組中的【查詢設(shè)計】按鈕,如下圖所 示。 第二步:系統(tǒng)彈出如下圖所示的【顯示 表】對話框

29、,提示我們加入所需要的表, 如下圖所示。 12.5.1 “訂單處理查詢”的設(shè)計 l 使用“查詢向?qū)А眮韯?chuàng)建“訂單處理查詢” 第三步:選擇“訂單表明細(xì)”表,單擊【添加】按鈕,將該表添加到查詢的【設(shè)計視圖】中。 第四步:依次選擇該表中的全部字段,將 其添加到查詢的設(shè)計網(wǎng)格中,如下圖所示。 第五步:為字段添加查詢條件。右擊“訂單編 號”字段查詢網(wǎng)格的【條件】行,在彈出的快 捷菜單中選擇【生成器】選項,如下圖所示。 12.5.1 “訂單處理查詢”的設(shè)計 l 使用“查詢向?qū)А眮韯?chuàng)建“訂單處理查詢” 第六步:系統(tǒng)彈出【表達(dá)式生成器】對話框。 在【表達(dá)式生成器】對話框中,我們?yōu)椴樵?的字段設(shè)置條件,將它和窗

30、體上的控件值聯(lián) 系到一起,如下圖所示。 第七步:保存該查詢?yōu)椤坝唵翁幚聿樵儭?。這 樣,我們就完成了“訂單處理查詢”的創(chuàng)建。 輸入的查詢條件如上圖所示,這樣把查詢中 的“訂單編號”和窗體上的“訂單編號”關(guān) 聯(lián)起來。 12.5.2 “供應(yīng)商銷售查詢”的設(shè)計 l 設(shè)計“供應(yīng)商銷售查詢” 第一步:切換到【創(chuàng)建】選項卡,然后單擊【其他】組中的【查詢設(shè)計】按鈕。 第二步:彈出的【顯示表】對話框中,依 次把“供應(yīng)商”表、“訂單”表和“產(chǎn)品 信息”表添加到查詢的【設(shè)計視圖】中, 然后關(guān)閉該對話框,如下圖所示。 第三步:選擇要進(jìn)行查詢的字段。雙擊選擇的字段, 即可將字段加入到下面的查詢設(shè)計網(wǎng)格中,最終結(jié) 果如下

31、圖所示。 12.5.2 “供應(yīng)商銷售查詢”的設(shè)計 l 設(shè)計“供應(yīng)商銷售查詢” 第四步:為字段添加查詢條件。右擊“供應(yīng)商編 號”字段查詢網(wǎng)格的【條件】行,在彈出的快捷 菜單中選擇【生成器】選項,如下圖所示。 第五步:在彈出的【表達(dá)式生成器】對話框 中,我們?yōu)椤肮?yīng)商編號”字段設(shè)置查詢條 件,如下圖所示。 12.5.2 “供應(yīng)商銷售查詢”的設(shè)計 l 設(shè)計“供應(yīng)商銷售查詢” 第六步:按照同樣的步驟,設(shè)置字段的查詢條件。整個查詢的條件設(shè)置如下表所示。 字 段表排序條 件 供應(yīng)商編號供應(yīng)商無forms!供應(yīng)商!供應(yīng)商編號 供應(yīng)商名稱供應(yīng)商無 產(chǎn)品編號產(chǎn)品信息升序 產(chǎn)品名稱產(chǎn)品信息無 產(chǎn)品類別產(chǎn)品信息無

32、訂購數(shù)量訂單無 預(yù)訂時間訂單無 between forms! 供應(yīng)商!txt_date1 and forms! 供應(yīng)商! txt_date2 第七步:保存該查詢?yōu)椤肮?yīng)商銷售查詢”,這樣我們就完成了該查詢的創(chuàng)建。 12.5.3 “進(jìn)貨資料查詢”的設(shè)計 l 我們建立的字段的信息如下表所示。 字 段表排 序條 件 入庫編號入庫記錄無 業(yè)務(wù)類別入庫記錄無 產(chǎn)品編號產(chǎn)品信息無 產(chǎn)品名稱產(chǎn)品信息無 產(chǎn)品類別產(chǎn)品信息無 供應(yīng)商編號供應(yīng)商無 供應(yīng)商名稱供應(yīng)商無 入庫時間入庫記錄升序 入庫單價入庫記錄無 入庫數(shù)量入庫記錄無 入庫金額入庫記錄無 經(jīng)辦人入庫記錄無 12.5.3 “進(jìn)貨資料查詢”的設(shè)計 l “進(jìn)貨

33、資料查詢”查詢的【設(shè)計視圖】如下圖所示。 12.5.4 “庫存查詢”的設(shè)計 l 設(shè)計“庫存查詢” 。 第一步:切換到【創(chuàng)建】選項卡,然后單擊【其 他】組中的【查詢設(shè)計】按鈕,如下圖所示。 第二步:在彈出的【顯示表】對話框中,將 “庫存”表和“產(chǎn)品信息”表添加到查詢 【設(shè)計視圖】中,將該表中的所有字段添加 到查詢設(shè)計網(wǎng)格中,如下圖所示。 12.5.4 “庫存查詢”的設(shè)計 l 設(shè)計“庫存查詢” 。 第一步:為字段添加條件。右擊“產(chǎn)品編號”字段的【條件】行,在彈出的快捷菜單中選擇【生 成器】選項。 第二步:系統(tǒng)彈出【表達(dá)式生成器】對話框, 在該對話框中為查詢的字段設(shè)置條件,將它 和窗體上的控件值聯(lián)系

34、到一起。設(shè)置的查詢 條件如下圖所示。 第三步:保存該查詢?yōu)椤皫齑娌樵儭?,這樣 我們就完成了“庫存查詢”的創(chuàng)建。 12.6 報表的實現(xiàn) l“訂單查詢”報表 l“供應(yīng)商銷售”報表 l“庫存”報表 12.6.1 “訂單查詢”報表 l “訂單查詢”報表 用來顯示訂單查詢的結(jié)果。 第一步:切換到【創(chuàng)建】選項卡,單擊【報 表】組中的【報表向?qū)А堪粹o,如下圖所示。 第二步:系統(tǒng)彈出【報表向?qū)А繉υ捒?,?【表/查詢】下拉列表框中選擇“查詢:訂單查 詢”,然后把所有字段作為選定字段,如下圖 所示。 12.6.1 “訂單查詢”報表 l “訂單查詢”報表 用來顯示訂單查詢的結(jié)果。 第三步:單擊【下一步】按鈕,彈出

35、選擇數(shù) 據(jù)查看方式的對話框。我們選擇“通過訂單” 選項,如下圖所示。 第四步:單擊【下一步】按鈕,彈出選擇分組 級別的對話框。本報表中我們不添加分組級別, 如下圖所示。 12.6.1 “訂單查詢”報表 l “訂單查詢”報表 用來顯示訂單查詢的結(jié)果。 第五步:單擊【下一步】按鈕,在彈出的 對話框中選擇“產(chǎn)品編號”為排序字段, 按升序排序,如下圖所示。 第六步:單擊【下一步】按鈕,在彈出的對 話框中選擇布局方式為“表格”布局,布局 方向為“縱向”,如下圖所示。 12.6.1 “訂單查詢”報表 l “訂單查詢”報表 用來顯示訂單查詢的結(jié)果。 第七步:單擊【下一步】按鈕,在彈出的對 話框中選擇報表樣式

36、。我們選擇【辦公室】 選項,如下圖所示。 第八步:單擊【下一步】按鈕,輸入該報表 的名稱為“訂單查詢報表”,如下圖所示。 12.6.1 “訂單查詢”報表 l “訂單查詢”報表 用來顯示訂單查詢的結(jié)果。 第九步:單擊【完成】按鈕,完成“訂單查詢報表”的創(chuàng)建。此時該報表的【設(shè)計視圖】如下 圖所示。 12.6.2 “供應(yīng)商銷售”報表 l 建立“供應(yīng)商銷售”報表,作為供應(yīng)商銷售查詢 的輸出結(jié)果。 第一步:切換到【創(chuàng)建】選項卡,單擊【報 表】組中的【報表向?qū)А堪粹o,如下圖所示。 第二步:在彈出的【報表向?qū)А繉υ捒蛑校?選擇報表的數(shù)據(jù)源為“查詢:供應(yīng)商查 詢”,然后把查詢中的所有字段作為選定 字段,如下圖

37、所示。 12.6.2 “供應(yīng)商銷售”報表 l 建立“供應(yīng)商銷售”報表,作為供應(yīng)商銷售查詢 的輸出結(jié)果。 第三步:單擊【下一步】按鈕,在彈出的 對話框中選擇數(shù)據(jù)的查看方式。我們選擇 “通過供應(yīng)商”選項,如下圖所示。 第四步:單擊【下一步】按鈕,在彈出的對話 框中不選擇分組級別。 第五步:單擊【下一步】按鈕,在排序方式中 選擇通過“預(yù)定時間”和“訂購數(shù)量”進(jìn)行排 序,排序方式分別為“升序”和“降序”,如 下圖所示。 12.6.2 “供應(yīng)商銷售”報表 l 建立“供應(yīng)商銷售”報表,作為供應(yīng)商銷售查詢 的輸出結(jié)果。 第六步:單擊【下一步】按鈕,在彈出的對話框中選擇報表的樣式為“辦公室”。 第七步:單擊【

38、下一步】按鈕,輸入報表標(biāo)題為“供應(yīng)商銷售報表”,選中【預(yù)覽報表】單選按鈕。 第八步:單擊【完成】按鈕,完成“供應(yīng)商銷售報表”的創(chuàng)建。此時報表的【設(shè)計視圖】如下圖所 示。 12.6.3 “庫存”報表 l 在建立“庫存”報表前,我們需要建立一個“庫 存查詢” ,建立查詢的過程如下所示。 第一步:切換到【創(chuàng)建】選項卡,單擊【報表】組 中的【報表向?qū)А堪粹o,如下圖所示。 第二步:在彈出的【報表向?qū)А繉υ捒蛑校x 擇報表的數(shù)據(jù)源為“查詢:庫存查詢”,然后 把查詢中的所有字段作為選定字段,如下圖所 示。 12.6.3 “庫存”報表 l 在建立“庫存”報表前,我們需要建立一個“庫 存查詢” ,建立查詢的過程

39、如下所示。 第三步:為報表添加分組級別“產(chǎn)品類別”, 這樣就把不同類別產(chǎn)品的信息分開了,如下 圖所示。 第四步:系統(tǒng)彈出提示排序次序的對話框,我 們用“產(chǎn)品編號”作為排序的標(biāo)準(zhǔn),單擊【下 一步】按鈕。 12.6.3 “庫存”報表 l 在建立“庫存”報表前,我們需要建立一個“庫 存查詢” ,建立查詢的過程如下所示。 第五步:單擊【下一步】按鈕,在彈出的對話框中選擇報表的樣式為“辦公室”。 第六步:單擊【下一步】按鈕,輸入報表 標(biāo)題為“庫存查詢”,選中【預(yù)覽報表】 單選按鈕。 第七步:單擊【完成】按鈕,完成了報表的 設(shè)計。此時,報表的【設(shè)計視圖】如下圖所 示。 12.7 編碼的實現(xiàn) l公用模塊 l

40、“登錄”窗體代碼 l“切換面板”代碼 l“產(chǎn)品進(jìn)庫”窗體代碼 l“發(fā)貨確認(rèn)”窗體代碼 l“供應(yīng)商”窗體代碼 l“進(jìn)貨資料查詢”窗體代碼 l“密碼管理”窗體代碼 12.7.1 公用模塊 l建立公用模塊 第一步:我們首先要新建一個“模塊”。 單擊【數(shù)據(jù)庫工具】選項卡下的visual basic按鈕,進(jìn)入vba編輯器,如下圖所示。 第二步:選擇【插入】菜單,選擇【模塊】 命令,即可增加一個新模塊,如下圖所示。 12.7.1 公用模塊 l建立公用模塊 第三步:新建模塊以后,vba編輯器界面如下圖 所示。 第四步:我們在新增加的模塊里,增加如下代碼。 option compare database op

41、tion explicit txtsql為執(zhí)行查詢時所需要的sql語句 public function exesql(byval txtsql as string) as adodb.recordset on error goto exesql_error 錯誤處理 dim rs as new adodb.recordset rs.open txtsql, currentproject.connection, adopenkeyset, adlockoptimistic 返回記錄集對象 set exesql = rs 返回值為exesql exesql_exit: set rs = nothi

42、ng exit function exesql_error: dim msgstring as string msgstring = 查詢錯誤 & err.description msgbox msgstring, vbcritical resume exesql_exit end function 12.7.1 公用模塊 為了正確地使用ado方式來對數(shù)據(jù)庫查詢,我們要在vba編輯器下加入兩個引用。選擇 【工具】|【引用】命令,加入 創(chuàng)建表有多種不同的方法,用戶可以根據(jù)自己的習(xí)慣和工作的難易 程度選擇合適的創(chuàng)建方法。直接輸入、表模板、表的【設(shè)計視圖】是最常用的創(chuàng)建表的方法。 microsoft

43、 activex data objects 2.8 library和microsoft activex data objects recordset 2.8 library,如下圖所示。 12.7.2 “登錄”窗體代碼 l 已知我們設(shè)計的“登錄”窗體如下圖所示。 12.7.2 “登錄”窗體代碼 l 編寫“登錄”窗體代碼 第一步:打開“登錄”窗體的【設(shè)計視圖】,右 擊,在彈出的快捷菜單中選擇【屬性表】選項, 彈出【屬性表】窗格,如下圖所示。 第二步:在【屬性表】窗格的【所選內(nèi)容的類 型:窗體】下拉列表框中選擇“窗體”選項。 切換到【數(shù)據(jù)】選項卡,把【記錄源】屬性設(shè) 置為“管理員”表。 第三步:單

44、擊【確定】按鈕,并將【屬性表】 切換到【事件】選項卡,在【單擊】屬性的下 拉列表框中選擇【事件過程】選項,如下圖所 示。 12.7.2 “登錄”窗體代碼 l 編寫“登錄”窗體代碼 第四步:單擊右邊的省略號按鈕,進(jìn)入vba編 輯器,添加“確定”按鈕的代碼,如下所示。 option compare database option explicit dim mrc as adodb.recordset dim txtsql as string dim i as integer 記錄錯誤次數(shù) 確定按鈕的代嗎 private sub btn_ok_click() on error goto err_bt

45、n_ok_click 錯誤處理 判斷用戶名是否為空 if isnull(txt_name) then msgbox 請輸入用戶名!, vbcritical, 提示 txt_name.setfocus else txtsql = select * from 管理員 where 用戶名= & txt_name & set mrc = exesql(txtsql) if mrc.eof then msgbox 沒有此用戶名稱!, vbcritical, 提示 else if (mrc(1) = txtpwd) then mrc.close set mrc = nothing me.visible =

46、 false 打開切換面板 docmd.openform 切換面板 else i = i + 1 if (i 0 then rs.update else msgbox 刪除記錄出錯, vbcritical end if end ifrs.close set rs = nothing end sub 刪除記錄后,要更新庫存數(shù)量 private sub btn_del_click() dim rs as new adodb.recordset dim str_temp as string str_temp = select * from 庫存 where 產(chǎn)品編號 = & 產(chǎn)品編號 & rs.op

47、en str_temp, currentproject.connection, adopendynamic, adlockoptimistic if not isnull(rs) then rs(庫存量) = rs(庫存量) - 入庫數(shù)量 rs.update end if rs.close set rs = nothing docmd.runcommand accmddeleterecord end sub private sub btn_query_click() docmd.openform 進(jìn)貨資料查詢 me.visible = false end sub private sub btn

48、_return_click() me.visible = false end sub 12.7.4 “產(chǎn)品進(jìn)庫”窗體代碼 l 添加完事件過程以后的【代碼】窗口如下圖所示。 12.7.5 “發(fā)貨確認(rèn)”窗體代碼 l 已知我們設(shè)計的“發(fā)貨確認(rèn)”窗體如下圖所示。 12.7.5 “發(fā)貨確認(rèn)”窗體代碼 l 為“發(fā)貨確認(rèn)”窗體添加事件過程。 第一步:打開“發(fā)貨確認(rèn)”窗體的【設(shè)計視圖】,右擊“確認(rèn)”按鈕,在彈出的快捷菜單中選 擇【事件生成器】選項,在彈出的【選擇生成器】對話框中選擇【代碼生成器】選項,單擊 【確定】按鈕,打開vba程序編輯器,輸入“確認(rèn)”按鈕代碼。 第二步:重復(fù)步驟1,對“返回”按鈕關(guān)聯(lián)“單擊

49、事件”過程。 相關(guān)代碼如下。 option compare database 確認(rèn)按鈕代碼 private sub brn_ok_click() on error goto err_btn_ok_click 用這個數(shù)組str(10)來保存訂單記錄中的數(shù)據(jù) dim str(10) as string dim mrc as new adodb.recordset if isnull(txt_no) then msgbox 請輸入要確認(rèn)的訂單編號!, vbcritical, 提示 txt_no.setfocus end if if isnull(combo1) then msgbox 請輸入支付方式

50、!, vbcritical, 提示 combo1.setfocus combo1.dropdown end if 12.7.5 “發(fā)貨確認(rèn)”窗體代碼 if isnull(txt_paydate) then msgbox 請輸入支付日期!, vbcritical, 提示 txt_paydate.setfocus end if if isnull(txt_address) then msgbox 請輸入送貨地址!, vbcritical, 提示 txt_address.setfocus end if if isnull(txt_name) then msgbox 請輸入送貨人!, vbcritic

51、al, 提示 txt_name.setfocus end if if isnull(txt_date) then msgbox 請輸入送貨日期!, vbcritical, 提示 txt_date.setfocus end if dim str_temp as string 訂單編號是整形,不需要單引號 str_temp = select * from 訂單 where 訂單編號= & txt_no & set mrc = exesql(str_temp) if mrc.eof then msgbox 沒有該訂單!, vbcritical, 提示 else 記錄查找到的訂單信息 str(0) =

52、 mrc(訂單編號) str(1) = mrc(客戶編號) str(2) = mrc(產(chǎn)品編號) str(3) = mrc(供應(yīng)商編號) str(4) = mrc(銷售單價) str(5) = mrc(訂購數(shù)量) str(6) = mrc(訂單金額) str(7) = mrc(預(yù)定時間) str(8) = mrc(訂單時間) mrc.close set mrc = nothing end if dim rs as new adodb.recordset rs.open 訂單處理明細(xì), currentproject.connection, adopendynamic, adlockoptimis

53、tic rs.addnew rs(訂單編號) = str(0) rs(客戶編號) = str(1) rs(產(chǎn)品編號) = str(2) rs(供應(yīng)商編號) = str(3) rs(預(yù)定時間) = str(7) rs(發(fā)貨時間) = txt_date rs(銷售單價) = str(4) rs(訂購數(shù)量) = str(5) rs(訂單金額) = str(6) rs(付款方式) = combo1 rs(付款時間) = txt_paydate rs(發(fā)貨地址) = txt_address rs(發(fā)貨人) = txt_name rs(狀態(tài)) = 已處理 rs.update rs.close set rs

54、 = nothing msgbox 成功添加了該信息! 12.7.5 “發(fā)貨確認(rèn)”窗體代碼 更新庫存表中的數(shù)量 dim rs2 as new adodb.recordset 查找?guī)齑姹碇械挠涗?str_temp = select * from 庫存 where 產(chǎn)品編號 = & str(2) & rs2.open str_temp, currentproject.connection, adopendynamic, adlockoptimistic if not rs2.eof then rs2(庫存量) = rs2(庫存量) - str(5) rs2.update end if rs2.cl

55、ose set rs2 = nothing msgbox 成功更新了庫存! 錯誤處理 exit_btn_ok_click: exit sub err_btn_ok_click: exit sub resume exit_btn_ok_click end sub private sub btn_cancel_click() dim ctl as control for each ctl in me.controls select case ctl.controltype case actextbox if ctl.locked = false then ctl.value = null case

56、 accombobox ctl.value = null end select next me.txt_no.setfocus end sub private sub btn_return_click() me.visible = false docmd.openform 切換面板, acnormal end sub 添加完代碼后的【代碼】窗體如下所示。 12.7.6 “供應(yīng)商”窗體代碼 l 已知我們設(shè)計的“供應(yīng)商”窗體如下圖所示。 12.7.6 “供應(yīng)商”窗體代碼 窗體中各個按鈕的代碼如下。 “銷售查詢”按鈕代碼如下。 private sub btn_query_click() if isn

57、ull(供應(yīng)商編號) or isnull(txt_date1) or isnull(txt_date2) then msgbox 您必須輸入供應(yīng)商編號、開始時間和截止時間。 txt_date1.setfocus else if (txt_date1 txt_date2) then msgbox 結(jié)束時間必須大于開始時間。 焦點移到第一個時間上 txt_date1.setfocus else 打開供應(yīng)商銷售的報表 docmd.openreport 供應(yīng)商報表, acviewpreview, , , acwindownormal end if end if end sub “返回”按鈕代碼如下。

58、private sub btn_return_click() docmd.close docmd.openform 切換面板 end sub 添加代碼以后的【代碼】窗體如下圖 所示。 12.7.7 “進(jìn)貨資料查詢”窗體代碼 l 已知我們設(shè)計的“進(jìn)貨資料查詢”窗體如下圖所示。 12.7.7 “進(jìn)貨資料查詢”窗體代碼 “清除”按鈕添加的代碼如下。 option compare database private sub btn_clear_click() on error goto err_btn_clear_click dim ctl as control for each ctl in me.c

59、ontrols select case ctl.controltype case actextbox if ctl.locked = false then ctl.value = null case accombobox ctl.value = null end select next 取消子窗體查詢和統(tǒng)計總數(shù) me.進(jìn)貨資料查詢子窗體.form.filter = me.進(jìn)貨資料查詢子窗體.form.filteron = false exit_btn_clear_click: exit sub err_btn_clear_click: exit sub resume exit_btn_clea

60、r_click end sub “查詢”按鈕的代碼如下所示。 private sub btn_query_click() on error goto err_btn_query_click dim str as string 判斷是否為空,建立查詢條件 if not isnull(me.combo1) then str = str & (供應(yīng)商名稱 like * & me.combo1 & *) and end if if not isnull(me.txt_wuzi) then str = str & (產(chǎn)品名稱 like * & me.txt_wuzi & *) and end if if

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論