DBText 無法正常顯示資料 |
答題得分者是:stillalive
|
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
ADOConnection1
屬性 值
connection string SQL Server 2000
login porompt FALSE ADOTable1(訂單) DataSource1
屬性 值 屬性 值
Connect ADOConnection1 DataSet ADOTable1
TableName orders ADOTable2(客戶) DataSource2
屬性 值 屬性 值
Connect ADOConnection1 DataSet ADOTable2
TableName customers
MasterSource DataSource1
MasterFields cust_no ADOTable3(員工) DataSource3
屬性 值 屬性 值
Connect ADOConnection1 DataSet ADOTable3
TableName empy
MasterSource DataSource1
MasterFields empy_no
Form1
DBNavigator1
訂單編號 DBEdit1 訂單名稱 DBEdit2
客戶代號 DBEdit3 客戶名稱 DBText1
業務員代號 DBEdit4 業務員 DBText2 DBEdit1 DBEdit2
屬性 值 屬性 值
DataSource1 ADOTable1 DataSource1 ADOTable1
DataField order_no DataField project DBEdit3 DBText1
屬性 值 屬性 值
DataSource1 ADOTable1 DataSource1 ADOTable2
DataField cust_no DataField cust_name DBEdit4 DBText2
屬性 值 屬性 值
DataSource1 ADOTable1 DataSource1 ADOTable3
DataField e mpy_no DataField e mpy_name
如以上之設定, 請問新增訂單資料時已將客戶代號,業務員代號正確輸入
且 post 完成, 為何業務員姓名可正確帶出來, 而客戶名稱卻無法顯示.只看到空白
而 next record 或 prior record 才會顯示客戶名稱
謝謝你的幫忙
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
引言: u86210779 你好 從你需求中知你不過是訂單ENTRY時想帶入其它TABLE名稱 , 實在沒必要再作MASTER/DETAIL關聯來滿足 , 而且訂單檔當MASTER TABLE 也不合LOGIC , 建議你從訂單TABLE去LOOKUP其它TABLE來新增名稱欄位 , 這比較正式些 .謝謝你的指正, 因為本人很懶, 希望這邊訂一訂,那邊訂一訂. 程式就能跑 而不想寫太多程式碼.實際上用 ADOQuery 根本沒這問題. 在實務上以訂單單頭及訂單明細資料,用master/detail來作才合邏輯. 不過不論如何還是謝謝你 |
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
引言: ADOQUERY 若JOIN 數個TABLE做IO會有問題喔 , 老兄目前方式若能 RUN 的順利 , 那就祝福你呀 .stillalive 你好 使用 ADOQuery Join 數個 Table 做法如下 : select order.order_no, order.project, order.cust_no, cust.cust_name, order.empy_no, empy.empy_name from order, cust, empy where cust.cust_no = order.cust_no and empy.empy_no = order.empy_no procedure ADOQueryBeforePost(dataset:TdataSet); begin ADOConnection1.BeginTrans; end; procedure ADOQueryAfterPost(DataSet:TdataSet); begin ADOConnection1.CommitTrans; end; procedure ADOQueryPostError(DataSet:TDataSet; e:EDataBaseError; var Action:TdataAction); begin ADOConnection1.RollBackTrans; Action := Abort; end;以上得做法應該沒有問題 |
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
u86210779
一般會員 發表:16 回覆:41 積分:16 註冊:2004-06-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |