1 / 25

第十九章 BDE 專題製作

第十九章 BDE 專題製作. 19-1 資料庫規畫與管理 19-2 進貨 19-3 銷貨 19-4 查詢. 假設您要開一家出版社,您的產品如下: 您的經銷商如下:. 第十九章 BDE 專題製作. 請您寫一程式處理進貨、銷貨、存貨及帳款的處理程式,程式要求如下:. 1. 資料庫管理 產品基本資料編輯。 客戶基本資料編輯。 2. 進貨 依進貨單修改產品庫存。 3. 銷貨 依序輸入客戶編號、產品編號與產品數量,並修改庫存量。 列印銷貨單。 4. 查詢 產品查詢。 經銷商查詢。 經銷商訂貨明細表查詢。 訂單明細表查詢。

nikita
Download Presentation

第十九章 BDE 專題製作

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十九章 BDE專題製作 • 19-1 資料庫規畫與管理 • 19-2 進貨 • 19-3 銷貨 • 19-4 查詢

  2. 假設您要開一家出版社,您的產品如下: 您的經銷商如下: 第十九章 BDE專題製作

  3. 請您寫一程式處理進貨、銷貨、存貨及帳款的處理程式,程式要求如下:請您寫一程式處理進貨、銷貨、存貨及帳款的處理程式,程式要求如下: • 1.資料庫管理 產品基本資料編輯。 客戶基本資料編輯。 • 2.進貨 依進貨單修改產品庫存。 • 3.銷貨 依序輸入客戶編號、產品編號與產品數量,並修改庫存量。 列印銷貨單。 • 4.查詢 產品查詢。 經銷商查詢。 經銷商訂貨明細表查詢。 訂單明細表查詢。 • 5.報表製作 列印印書通知單(當庫存低於100本時)。 列印每日庫存報表。 列印每月庫存報表。 列印每月客戶結算清單(來往方式為月結)。 列印客戶基本資料。

  4. 補充說明: • 什麼是月結? 商品的販賣方式通常有三種,一種是寄賣,另一種是月結,第三種為買斷的現金交易。寄賣是東西有賣出去才能收款,月結是本月訂購的商品,上游廠商會於下月初寄帳單來請款,當零售商收到帳單時,可開一至三個月期限的支票給供應商。比較弱勢的產品或新成立的公司只能先從寄賣開始,一般大部分的商品都採用月結,現金交易則適用於一般消費者、強勢產品、或次級品低價傾銷給攤販。

  5. 19-1 資料庫規畫與管理 • 首先您必須使用BDE Administrtor決定資料庫的路徑及別名,本書延用路徑C:\DelBook及別名horng。 • 其次規劃資料表的欄位結構及輸入基本資料,本例只需使用四個資料表,分別是產品資料表(product.db)、客戶基本資料表(customer.db)、訂單資料表(orde.db)及訂單產品資料

  6. 1. 產品基本資料表(product.db)

  7. 2. 客戶基本資料表(customer.db)

  8. 於Paradox中一個資料表若要同時定義兩個以上的索引,應於Table properties中點選Secondary Indexes。 3. 訂單資料表(orde.db;資料表名稱請勿使用order或number,因為那是SQL的保留字,誤用保留字的後果就是無法執行SQL敘述)。

  9. 4. 訂單產品資料表(orpr.db)

  10. 補充說明: 任一客戶的任一訂單有可能包含許多產品,所以訂單資料表依據資料庫正規化的原則,必須拆成以上orde及orpr兩個資料表。若將以上兩個資料表合而為一如下,則會有客戶編號、訂購日期重複出現的情況,此即破壞資料正規化中的資料不可重複的規定。

  11. 依照資料庫正規化的原則,以上資料應拆成兩個資料表如下:依照資料庫正規化的原則,以上資料應拆成兩個資料表如下: 範例19-1a及19-1b分別可輸入產品及客戶基本資料表,其作法同範例16-2a 輸入結束之後,請務必按一下“結束”(Tablel.Close ();), 才能將資料緩衝區的資料回存硬碟。

  12. 19-2 進貨 • 進貨的操作步驟是看到進貨單,庫管人員輸入產品編號與數量,而完成進貨,以下範例說明進貨的處理方式。

  13. 範例 19-2a • 進貨作業處理。

  14. 19-3 銷貨 • 當客戶上門、打電話或傳真訂購產品時,電腦記錄訂單編號、客戶編號及每樣產品的編號、數量及折扣、庫存減至訂購量、列印送貨單,而完成一筆交易,我們稱此作業為銷貨,請看以下範例說明。

  15. 範例 19-3a • 試寫程式完成銷貨處理作業。

  16. 19-4 查詢 • 常用的查詢有產品資料表(product.db)及客戶資料表(customer.db)查詢,請參考範例16-4g自行完成。以下範例將介紹訂單的產品明細查詢,此為套用Master/Detail的典型範例

  17. 範例 16-4g • 同上範例,但設計一個更具親和性的搜尋資料介面。

  18. 範例 19-4a • 如何製作訂單產品明細表。 補充說明: • 本例共使用三個Table物件,Table1是Master,Table2是Detail,但Table1的orde.db僅有客戶編號並沒有客戶名稱,不易瀏覽,所以使用Table3將訂單資料表(orde.db)中的客戶編號(cuid)至customer.db中查閱客戶名稱,查閱的方式請看範例16-2e。

  19. 範例 16-2e • 同上範例,但增加查閱欄位,印出學生姓名 補充說明: • 欲關聯的欄位均需事先索引才能順利取得關聯,如本例stugrd.db的id欄及stuname的id欄均須事先製作索引。

  20. 範例 19-4b • 同上範例,但Master使用Query。 補充說明: • 1. Master/Detail的應用中,Master可為Query或Table,但Detail僅能使用Table。 • 2. 本例的Master採用Query,其SQL屬性設定如下: select orde.orid,customer.name,orde.ormo,orde.ordate from customer,orde where customer.id=orde.orid • 3. 適當的使用SQL敘述可簡化使用者的工作負荷,本例的Master採用SQL敘述,只需一個Query物件即可,但上例因需查閱,故需另外安排一個Table當查閱欄位。

  21. 範例 19-4c • 如何查詢每一客戶的每一訂單產品明細表 補充說明: • 本例共使用三個Table,第一個Table指向customer.db,第二個Table指向orde.db,第三個Table指向orpr.db,然後分別設定Table1與Table 2的Master/Detail及Table2與Table3的Master/Detail關係即可。

  22. 習題 • 1. 請將本章所有表單,融合在同一個專案。(未完成的表單則請自行創作) • 2. 請於本章的訂單資料表orde.db增加一個業務員欄位,且可統計及列印每位業務員每日的業績及每月應收帳款,試寫程式完成以上功能。 • 3. 請於本章的專題,新增一種查詢,可以逐一瀏覽每樣產品的銷售明細。

  23. 某次聯招共十人應考,成績、志願表及各校缺額如下:某次聯招共十人應考,成績、志願表及各校缺額如下: (1) 試完成分發作業,並印出每人錄取之學校或不錄取。 (2) 試印出各校錄取名單及錄取最低分數,輸出時以各校錄取最低分為輸出順序(提示:將個人成績由大而小排序,由最高分者先選學校,並將該校缺額減一,直到各校缺額均為零為止)。

  24. 5. 設某公司交易記錄如下表:(於次頁)(1) 試使用適當的元件將以上交易儲存至資料庫 (2)試完成以下統計表報 : 1.每日各產品銷售數量。 2.每日各業務員銷售金額。 3.每月各項產品銷售數量排行榜。 4.每月各業務員銷售金額排行榜。 5.每月各客戶購買金額排行榜。 6.每月各組業務員(p、q)銷售金額排行榜 (3) 試完成以下線上查詢工作: 1.輸入客戶編號而得其交易情形。 2.輸入產品編號而得單價。 3.輸入各日期而得其營業狀況。

  25. 6. 假設你要開一家銀行,請設計程式完成以下功能。 • 可開戶。 • 可存款、提款。 • 可於每年6月20日及12月20日計算利息,利息計算以客戶每日餘額乘以日利率即可 • 每位客戶有存摺,可列印其存提款狀況、利息所得及存款餘額。 • 可列印每日客戶的存提款金額及排行榜等日報表功能。 • 可列印每月客戶存提款金額及排行榜等月報表功能。 • 可於螢幕瀏覽每位客戶的交易明細。 • 7. 假如你要開一家DVD/VCD出租店,請設計程式完成以下功能。 • 可鍵入客戶基本資料(採會員制,客戶繳交一定金額可觀賞一定數量的片子) • 可借片及還片。 • 可於螢幕瀏覽每位客戶的借片狀態及點數餘額。 • 可於螢幕瀏覽當日每位客戶的借片狀態。 • 可列印每日逾期未還的片子。 • 8. 假如你要開一家電器維修業,請設計程式完成以下功能。 • 可鍵入客戶基本資料。 • 客戶送修機器時,可由該機器型號查得過去的維修狀態。 • 客戶送修後,可由該機器型號查得目前維修進度及估價。 • 9. 請自行選擇行業並完成其電腦化作業。 • 你的行業為何? • 你的預期功能為何? • 你的資料庫存內容為何?

More Related