lookup問題 |
尚未結案
|
20052020
初階會員 ![]() 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
給你一個方向 1.Query2的sql 大致如下(品號請自行代入其欄位名稱)
select * from table2 where 品號= :ino' 2.在品號的欄位(假設dbedit1) onExit 事件撰寫
query2.close;
query2.parambyname('INO').Value:= query1.fieldbyname('品號').AsString;
query2.open;
query1.fieldbyname('品號').Value:= query1.Fieldbyname('品號').VALUE;
依此類推 當然你還要考慮找不到的時候要如何做, 以及dbgrid2如何顯示lookup資料等等
先試試吧!
|
h@visli
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
您可以在表單A的品號輸入框的OnExit或OnPress事件中完成。 procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Trim(Edit1.Text) = '' then exit; //品號 //PH為品號字段名。使用Locate比Lookup多一個好處,就是可以在DBGrid中定位到找到的記錄,而Lookup衹能尋找不能定位。 if ADOQuery1.Locate('PH', Edit1.Text, []) then begin Edit2.Text := ADOQuery1.FieldByName('PM').AsString;//品名 Edit3.Text := ADOQuery1.FieldByName('LB').AsString;//類別 end; end; end;---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 --------------------------- 發表人 - h@visli 於 2005/08/05 17:53:09
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |