如何解查詢問題 |
尚未結案
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
if FC4RadioGroup1.ItemIndex = 0 then
Form1.ADOQuery1.Locate('comno',FC4edit1.Text,[])
// 代號
else
Form1.ADOQuery1.Locate('Comname',FC4edit2.Text,[]);
// 名稱 Form1.ADOQuery1.Locate('Comname',FC4edit2.Text,[])一定要輸入完整資料庫'三民企業股份有限公司' 才查詢得到.
如何輸入簡短 '三民' or '三民企業' 一樣可以查詢到符合comname='三民'
排序之第一筆資料
謝謝 <ObjectPascal 轉區> 發表人 - ddy 於 2003/05/06 09:16:48
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
liorex
初階會員 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
Form1.ADOQuery1.Locate('comno',FC4edit1.Text,[loPartialKey])
之前加了,[loPartialKey],Run時出現 error message
[Error] Undeclared identifier: 'loPartialKey'
[Error] Incompatible types: 'TLocateOption' and 'Integer'
不知錯那兒,所以一直沒用[loPartialKey]
[/quote] 發表人 - nick167 於 2003/05/07 01:06:42
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
[Error] Undeclared identifier: 'loPartialKey'
[Error] Incompatible types: 'TLocateOption' and 'Integer'
沒理由會一起出現的啊
第一行是沒找到 loPartialKey 的定義 (確如 hagar 版主所言, uses DB 即可)
而第二行是 你在[]內直接給個整數或給了個內容是整數的變數 才會出現
既找不到 loPartialKey 又甚會將之當成是整數??? 你要不要貼整段程式及完整的錯誤訊息給大家看看?
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
procedure TFormComp4.FC4BitBtn1Click(Sender: TObject);
begin
if FC4RadioGroup1.ItemIndex = 0 then
FormComp1.CompADOQuery1.Locate('companyno',FC4edit1.Text,[])
// []可以 [loPartialKey]:就有Error message
else
FormComp1.CompADOQuery1.Locate('companyname',FC4edit2.Text,[]);
// []可以 [loPartialKey]:就有Error message
FormComp1.FormCompMaskedit1.Text:=FormComp1.CompADOQuery1.FieldByName('opendate').AsString;
FormComp1.FCEdit1.Text:=FormComp1.CompADOQuery1.FieldByName('CompanyNo').AsString;
FormComp1.AssignValue;
Close;
end;
[Error] frm4comp.pas(56): Undeclared identifier: 'loPartialKey'
[Error] frm4comp.pas(56): Incompatible types: 'TLocateOption' and 'Integer'
[Fatal Error] HCmychk.dpr(15): Could not compile used unit 'frm4comp.pas'
真的不知問題出在那兒
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
我用我同事lilisn電腦討論因為nick電腦中毒了?不好意思 我的程式 Form1comp1 裡 button1(搜尋) -> do (formcomp4)
寫法一:
if FC4RadioGroup1.ItemIndex = 0 then
formcomp1.compADOQuery1.Locate('companyno',[])
// 代號只有5碼比較好輸入
else
formcomp1.compADOQuery1.Locate('companyname',FC4edit2.Text,[]);
// 名稱50碼要輸入與資料庫一樣才 serach ok
FormComp1.FormCompMaskedit1.Text:=FormComp1.CompADOQuery1.FieldByName('opendate').AsString;
FormComp1.FCEdit1.Text:=FormComp1.CompADOQuery1.FieldByName('CompanyNo').AsString;
FormComp1.AssignValue;
close;
回Formcomp1後指標也指向該筆,符合我需求
只是fc4edit2.text 要完全key in
"美文紙品有限公司" 才search ok ,如key in "美文" 去search 會not found 寫法二:
// 在 FormComp4 加一個adoquery1 (uses db)
if FC4RadioGroup1.ItemIndex = 0 then
fc4ADOQuery1.Locate('companyno',[loPartialKey])
else
fc4ADOQuery1.Locate('companyname',FC4edit2.Text,[loPartialKey]);
搜尋沒問題了,可是如何回到formcomp1,record指向該筆?
謝謝前輩指導
[/quote] 發表人 - lilisn 於 2003/05/07 15:03:24
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
借用我同事lilisn電腦發表上述想法,
公司電腦有按裝防毒,還是中毒,還好有備份, 家中比較靜,思考整理一下,
procedure TFormComp4.FC4BitBtn1Click(Sender: TObject);
var Srecord:String;
begin
if FC4RadioGroup1.ItemIndex = 0 then
Fc4ADOQuery1.Locate('companyno',FC4edit1.Text,[loPartialKey])
else
Fc4ADOQuery1.Locate('companyname',FC4edit2.Text,[loPartialKey]);
Srecord:=Fc4ADOQuery1.FieldByName('companyno').AsString;
Fc4ADOQuery1.Close;
// 記錄companyno後,在locate一次,可以完成我所需,不知是否有較好寫法?
FormComp1.CompADOQuery1.Locate('companyno',Srecord,[]);
FormComp1.FormCompMaskedit1.Text:=FormComp1.CompADOQuery1.FieldByName
('opendate').AsString;
FormComp1.FCEdit1.Text:=FormComp1.CompADOQuery1.FieldByName
('CompanyNo').AsString;
FormComp1.AssignValue;
Close;
end;
[/quote]
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |