無法正確取得fieldkind為lookup類型的資料 |
缺席
|
mingking0947
一般會員 發表:30 回覆:32 積分:12 註冊:2005-07-08 發送簡訊給我 |
各位前輩,
遇到無法正確取出lookup類型的資料,請幫忙看看.架構如下: QUOTATION (報價單) :Q_NO,Q_C_NO MAIN_MATERIAL (主料) : M_M_NO, M_Q_NO MATERIAL_CUST (客戶料號): M_C_NO,M_C_NOC CUSTOMER (客戶資料) : C_NO,C_NAME 其中的 MATERIAL_CUST.M_C_NO 關聯到 CUSTOMER.C_NO MAIN_MATERIAL.M_Q_NO 關聯到 QUOTATION.Q_NO 元件有: 4個TADOQuery:分別指到QUOTATION,MAIN_MATERIAL,MATERIAL_CUST,CUSTOMER. 名稱為qryQUOTATION,qryMAIN_MATERIAL,qryMATERIAL_CUST,qryCUSTOMER. query中的sql語法:除了qryMAIN_MATERIAL為SELECT * FROM MAIN_MATERIAL WHERE M_Q_NO = :Q_NO 外, 其餘皆為SELECT * from xxxx(資料表名稱) query的stringFields:add 所有欄位.除了qryMAIN_MATERIAL增加一個fieldkind有lookup型態外,其餘皆為普通之string或integer. qryMAIN_MATERIAL的fieldName = M_C_NOC. qryMAIN_MATERIAL的stringFields: fieldkind=fklookup ; keyfields = M_M_NO ; lookupDataset = qryMATERIAL_CUST ; lookupKeyFields = M_C_NO ; lookupResultField = M_C_NOC qryMAIN_MATERIAL的datasource = DS_QUOTATION. 2個datasource: DS_MAIN_MATERIAL(DataSet=qryMAIN_MATERIAL), DS_QUOTATION (DataSet=qryQUOTATION) N個DBEDIT顯示QUOTATION資料及CUSTOMER的名稱(c_name) 1個DBGrid顯示MAIN_MATERIAL資料(主料資料): datasource = DS_MAIN_MATERIAL Columns : 增加所有qryMAIN_MATERIAL的欄位.包含新增的M_C_NOC欄位. 1個Navigator :datasource = DS_MAIN_MATERIAL .可以dbgrid上新增MAIN_MATERIAL的資料. 本來要在dbgrid上依訂單上的號碼(Q_NO)及客戶編號(C_NO),顯示相對應的客戶料號(用lookup新增的M_C_NOC). 雖可以顯示客戶料號,但卻都是第一筆,無法依客戶編號取出對應客戶料號. 另外,本來想要在qryMAIN_MATERIAL中以join的方法下sql語法顯示MATERIAL_CUST的資料,但因此dbgrid要能新增資料, 故不做join. 請問有那個地方沒有設定好. 感謝!! 編輯記錄
mingking0947 重新編輯於 2010-10-05 11:08:04, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |