線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1014
推到 Plurk!
推到 Facebook!

如果指定TQuery內,new"look up"type欄位的條件

答題得分者是:cashxin2002
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-25 11:20:42 IP:210.201.xxx.xxx 未訂閱
各位好: 我二個TQuery,一個叫AQry,一個叫BQry,兩個都是來自同一個Table. 在AQry中,除了有自己的欄位外,我還要新增一個欄位,type是look up,來源是BQry select出來的欄位,當中我已經用了一個key做關聯,因為AQry與BQry是1對多的關係,所以我想要在設一個條件來限制BQry的數量,例如AQry.vdate=BQry.vdate....請問我要怎麼做?謝謝?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 11:40:04 IP:202.62.xxx.xxx 未訂閱
您好﹗    在對應AQry的DataSource元件的OnDataChange事件中輸入如下程式碼﹕
begin
  AQry.DisableControls;
  BQry.Close;
  BQry.SQL.Clear;
  BQry.SQL.Add('Select * From 資料表名稱 Where ');
  BQry.SQL.Add('vdate = :DateTemp');
  BQry.ParamByName('DateTemp').Value := AQry.FieldsByName('vdate').Value;
  BQry.Open;
  AQry.EnableControls;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 14:13:35 IP:210.201.xxx.xxx 未訂閱
你好: 我已經照著指示去coding,但是,執行後滑鼠一直呈現sql的樣式... 結果一直秀不出來,請問我還有那裡需要注意,或是還有其它的方法...謝謝!
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-25 14:17:05 IP:210.201.xxx.xxx 未訂閱
對了...忘了一件事,事上我還有CQry,DQry,用途跟BQry一樣... 請問我要每一個都要加上 BQry.Close; BQry.SQL.Clear; BQry.SQL.Add('Select * From 資料表名稱 Where '); BQry.SQL.Add('vdate = :DateTemp'); BQry.ParamByName('DateTemp').Value := AQry.FieldsByName('vdate').Value; BQry.Open; 嗎?謝謝!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-25 14:26:27 IP:202.62.xxx.xxx 未訂閱
您好﹗    清除DataSource元件OnDataSource事件中的內容﹐將前篇回覆的程式碼改寫到AQry所在Form的OnActivate事件和AQry的AfterOpen事件中試試﹒    問題二的作法相同﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/05/25 14:28:52
------
忻晟
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-25 15:47:02 IP:210.64.xxx.xxx 未訂閱
你好 試試看寫在afterScrool事件中!! 但是對於你的問題有一點疑問,因為你說要用lookup欄位,但是如果BQry所選出來的欄位他的資料是多筆的時候,lookup出來的永遠是第一筆,其他筆資料不會顯示出來,這樣是你要的結果嗎?? Pillar Wang
------
Pillar Wang
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-25 18:28:02 IP:210.201.xxx.xxx 未訂閱
pillar62你好:   不好意思,還是不行...我要這樣做的用意就是要取得唯一的值...加上條件後就可以了...只是怎麼試都試不出來...不過,我決定不要使用lookup的欄位了...橫向的表格做不出來,我只好用蹤向的方式加上join的語法,雖然重覆的資料會多一點,不過至少好做....各位認為呢?謝謝各位的指教!
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-25 22:57:04 IP:61.62.xxx.xxx 未訂閱
你好 那你可以試試看用計算欄位,在oncaculated事件中去做給值的動作應該就可以了吧!! Pillar Wang
------
Pillar Wang
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-26 09:40:56 IP:210.201.xxx.xxx 未訂閱
pillar62你好: 我已經試過您的方法了...已經解決問題了...謝謝!
系統時間:2024-08-09 17:07:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!