全國最多中醫師線上諮詢網站-台灣中醫網
上鎖的討論區 上鎖的討論區 瀏覽次數:1007
推到 Plurk!
推到 Facebook!

DBGrid的應用

尚未結案
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#1 發表時間:2003-05-07 10:54:06 IP:210.202.xxx.xxx 未訂閱
請問各位高手有這樣的範例或方向可參考嗎? 謝謝!! 在DBGrid中的某一欄位(身分證字號),按下"F1"鍵時,再跳出一個小視窗,讓使用者以姓名來查詢身分證字號,之後再將值帶入到DBGrid中的身分證字號欄位內。
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#2 發表時間:2003-05-07 11:35:07 IP:202.145.xxx.xxx 未訂閱
或許可以寫在dbgrid的onkeypress (請查一下F1 key的ascii值) if (key=F1) and DBGrid2.SelectedField=身分證字號欄位        (or   DBGrid2.SelectedIndex=身分證字號在dbgrid中的index) then begin    查詢身分證字號的form    assign(身分證字號欄位) end;    
引言: 請問各位高手有這樣的範例或方向可參考嗎? 謝謝!! 在DBGrid中的某一欄位(身分證字號),按下"F1"鍵時,再跳出一個小視窗,讓使用者以姓名來查詢身分證字號,之後再將值帶入到DBGrid中的身分證字號欄位內。
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#3 發表時間:2003-05-07 13:56:07 IP:210.202.xxx.xxx 未訂閱
在你的方式中,有以下幾個方式 1.假設Form4 create後,並沒有free,其選擇完畢後,將身分證資料, 放在edit1上面,如此程式可以改成 If (DBGrid1.SelectedIndex =7) and (key=VK_F1) then begin IF APPLICATION.FindComponent('Form4')=NIL THEN Application.CreateForm(TForm4, Form4); Form4.ShowModal; query.fieldbyname('idno').asstring:=form4.edit1.text; end; 2.假如你會將form4 free,則需要再form4 free前(寫在form4)將值存回query中 (假設query存在form1上面) form1.query.fieldbyname('idno').asstring:=edit1.text; free 3.將create form4設定成為一個function,寫在form4(unit4)上面 var form4:Tform4 function crform4:string; function crform4:string; begin with form4.create(application) do begin showmodal; result:=edit1.text;(假設選擇的值存在edit1.text free; end; end; //原來程式改成 If (DBGrid1.SelectedIndex =7) and (key=VK_F1) then begin query.fieldbyname('idno').asstring:=unit4.crform4; end; 發表人 - delphiwww 於 2003/05/07 15:31:15
may
一般會員


發表:32
回覆:26
積分:11
註冊:2003-02-11

發送簡訊給我
#4 發表時間:2003-05-08 14:27:53 IP:210.202.xxx.xxx 未訂閱
謝謝Delphiwww的熱心回應,我採用的方式如下 step1:在Form3中的"DBNavigator" 按下新增或修改按鈕 step2:Form3中的DBGrid中身分證字號欄中按下F1 鍵 procedure TForm3.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If (DBGrid1.SelectedIndex =7) and (key=VK_F1) then begin IF APPLICATION.FindComponent('Form4')=NIL THEN Application.CreateForm(TForm4, Form4); Form4.ShowModal; end; step3 在 Form4查詢到後即可以下列程式碼傳回值 unit3.Form3.DBGrid1.DataSource.DataSet.FieldByName('id_no').Value :=DBGrid1.DataSource.DataSet.FieldByName('IDNO').AsString ;
系統時間:2024-05-05 14:32:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!