在查询按钮事件中写 while for i:=x to adoquery1.recordcount-1 do begin adoquery1.next; if .... then begin //显示 x:=adoquery1.recno; break; end; end;x变量定位全局的,并且在窗口初始化时设为1。
onkeypress(...) begin if key=f3 then//我写个大概意思 begin 循环递归查找; 找到退出即可 end; end;
请各位看看我的怎么实现?多谢二楼说的,我改了一下我的代码如下,但还是不行? procedure TAddypfrm.BitBtn3Click(Sender: TObject); var x,i:integer; begin with adoqyp do begin close; sql.Clear; sql.Add('select id,xmmc,xmrj from 药品目录'); sql.Add('where xmmc like '''+'%'+trim(edit9.Text)+'%'+''''); sql.Add('or xmrj like '''+'%'+ansiuppercase(edit9.Text)+'%'+''''); open; for i:=0 to recordcount-1 do begin adoqyp.Next; if recordcount>=1 then //不知二楼说的IF...THEN 中间该什么. begin x:=adoqyp.RecNo; break; end; end; if fields[0].text<>'' then adotable1.Locate('id',fields[0].text,[]);//DBGRID1关联的是ADOtable1,怎么实现继续查找功能. end; end;
procedure TAddypfrm.BitBtn3Click(Sender: TObject); var x,i:integer; begin with adoqyp do begin close; sql.Clear; sql.Add('select id,xmmc,xmrj from 药品目录'); sql.Add('where xmmc like '''+'%'+trim(edit9.Text)+'%'+''''); sql.Add('or xmrj like '''+'%'+ansiuppercase(edit9.Text)+'%'+''''); open; for i:=0 to recordcount-1 do begin adoqyp.Next; if recordcount>=1 then //不知二楼说的IF...THEN 中间该什么. begin x:=adoqyp.RecNo; break; end; end; if fields[0].text<>'' then adotable1.Filter = formart('id = ''%s''',[fields[0].text]); adotable1.filtered = trueend; end;
while for i:=x to adoquery1.recordcount-1 do
begin
adoquery1.next;
if .... then
begin
//显示
x:=adoquery1.recno;
break;
end;
end;x变量定位全局的,并且在窗口初始化时设为1。
begin
if key=f3 then//我写个大概意思
begin
循环递归查找;
找到退出即可
end;
end;
procedure TAddypfrm.BitBtn3Click(Sender: TObject);
var x,i:integer;
begin
with adoqyp do
begin
close;
sql.Clear;
sql.Add('select id,xmmc,xmrj from 药品目录');
sql.Add('where xmmc like '''+'%'+trim(edit9.Text)+'%'+'''');
sql.Add('or xmrj like '''+'%'+ansiuppercase(edit9.Text)+'%'+'''');
open;
for i:=0 to recordcount-1 do
begin
adoqyp.Next;
if recordcount>=1 then //不知二楼说的IF...THEN 中间该什么.
begin
x:=adoqyp.RecNo;
break;
end;
end;
if fields[0].text<>'' then
adotable1.Locate('id',fields[0].text,[]);//DBGRID1关联的是ADOtable1,怎么实现继续查找功能.
end;
end;
var x,i:integer;
begin
with adoqyp do
begin
close;
sql.Clear;
sql.Add('select id,xmmc,xmrj from 药品目录');
sql.Add('where xmmc like '''+'%'+trim(edit9.Text)+'%'+'''');
sql.Add('or xmrj like '''+'%'+ansiuppercase(edit9.Text)+'%'+'''');
open;
for i:=0 to recordcount-1 do
begin
adoqyp.Next;
if recordcount>=1 then //不知二楼说的IF...THEN 中间该什么.
begin
x:=adoqyp.RecNo;
break;
end;
end;
if fields[0].text<>'' then
adotable1.Filter = formart('id = ''%s''',[fields[0].text]);
adotable1.filtered = trueend;
end;