臺灣兄弟姐妹請幫大陸新手小弟之忙:Master/Detail問題 |
答題得分者是:T.J.B
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
我用Delphi 6.0 SQL2000建有以下表(我用中文描述,如習慣用語不對請諒解): Master表:
訂貨單頭表
Fields :訂貨單號,客戶編碼,訂貨時間,送貨时時 客戶資料表
Fields :客戶編碼,客戶名稱,聯繫人,送貨地址,聯繫電話 Detail表:
訂貨單身表
Fields: 序號,訂貨單號,商品編碼, 數量 商品資料表
Fields:商品編碼,品名規格,單位,供應商 訂貨單錄入介面設計如下:
Master單頭用TADOQuery産生,用DBEdit, 包含以下欄位:
單號,客戶名稱,聯繫人,送貨地址,聯繫電話,訂貨時間,送貨時間
選擇客戶名稱後帶出 聯繫人,送貨地址,聯繫電話欄位 Detail單身用TADOQuery産生,用DBGrid, 包含以下欄位:
序號,訂貨單號,商品編碼,品名規格,單位,數量
輸入商品編碼後帶出 品名規格,單位欄位 我用TADOTable時無法新增資料,用TADOQuery時單身的 訂貨單號 無法産生 請各位大哥大姐幫我,以前我用Access時很輕鬆就可以搞定,現在~~~~~~~~~
小弟不勝感激,先謝過! 没有脾气
------
没有脾气 |
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
T.J.B斑竹:
你好!
我也不知道怎樣回答你才好?我把錄入的表單畫出來,上面是單頭,下面是單身,把資料庫表結構列出來讓你看,你就不管我出現的問題,你幫我看看怎麽做比較好行嗎? 打單日期: 營業員:
訂貨單號: 預付訂金:
客戶名稱: 收銀員:
聯繫電話: 訂貨折扣:
聯繫地址: 付款方式:
訂貨時間: 運費:
送貨時間: 單別:
備註:
商品編碼 品名規格 顔色 單位 數量 單價 折扣 金額
表結構:
訂貨單頭表:訂貨日期,訂貨單號,客戶ID,訂貨時間,送貨時間,營業員ID,
預付訂金,收銀員ID,訂貨折扣,付款方式ID,運費,單別ID等等
客戶資料表:客戶ID,客戶名稱,聯繫人,聯繫電話,送貨地址等等
營業員資料:營業員ID,營業員等等
收銀員資料:收銀員ID,收銀員等等
付款方式表:付款方式ID,付款方式等等
單別資料表:單別ID,單別
訂貨單身表:序號,訂貨單號,商品編碼,顔色,數量,單價,折扣等等
商品編碼表:商品編碼,品名規格,單位,供應商等等 由資料庫表的欄位名稱可以看出各表間的關係,現在要達到上圖的效果要怎麽做?如果方便,可不可以給我做個範例.
拜託啦!有空來深圳出差我請大家喝茶。 没有脾气
------
没有脾气 |
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
你可以把
訂貨單頭表 當Master
join客戶資料表,營業員資料,收銀員資料,付款方式表,單別資料表
所需要顯示在dbedit上的欄位 然後
訂貨單身表 當作Detail
join 商品編碼表所需要顯示在dbgrid上的欄位 grid所顯示的欄位可以為
序號,商品編碼,品名規格,單位,數量
輸入商品編碼後帶出 品名規格,單位欄位 又因為規則上為
一張訂貨單可以有多筆商品所以
訂貨單號把它獨立出來 不需要在dbgrid裡
在做新增的動作時 在Detail的Query上 onNewRecord事件
就把訂貨單號的值寫進去 其他的欄位值在dbgrid裡輸入即可
然後Master/Detail 可用 訂貨單號 做連結 但是要注意 Detail 多一個 商品編碼的key值
(這是避免資料重複的key 值) 也就是
訂貨單頭表 key值 -->訂貨單號,客戶編碼
訂貨單身表 key值 -->訂貨單號,商品編碼,序號
(實際的key值照你資料庫鎖定的即可 這裡只是假設) 另外搭配UpdateSQL元件來做
就可以了 ps:
1:query的cachedUpdate,Requestlive屬性要設為True;
2:在Detail的Query上 onNewRecord事件 就把key值寫進去 天行健
君子當自強不息~~@.@
------
天行健 君子當自強不息~~@.@ |
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
|
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
|
chih
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
|
chih
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
lolot
一般會員 ![]() ![]() 發表:6 回覆:9 積分:3 註冊:2002-11-26 發送簡訊給我 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |