各位大哥,我用的是ACCESS+DELPHI表一,用的DBGRID显示的表一,MEMO显示的表二
表一
ID USER DATA
表二
USER AGEE
如何编码当点击DBGRID1的不同记录时,如果表二的USER和表一的USER相等 ,就在MEMO1中显示表二的相应的记录
表一
ID USER DATA
表二
USER AGEE
如何编码当点击DBGRID1的不同记录时,如果表二的USER和表一的USER相等 ,就在MEMO1中显示表二的相应的记录
select * from 表1 left join 表2 on 表1.user = 表2.userMEMO1绑定到表2的字段
sql语句用DebugXP(NULL)的则。
在dbgrid的ONcellclick事件中写
memo1.text:=adoquery1.fieldbyname('agree').asstring;
adoquery2.Locate('USER',adoquery1.fieldbyname('user').asstring,[loPartialKey]);
表二是保护情情:线路编号 线路名称 起点,终点,定值,参数
我用的是ADOQUERY.表一我己显示在DBGRID中了,现在我想在MEMO中显示相应的保护记录,即DBGRID指在那条记录,我在MEMO中就显显示它的保护情况。请各位不吝赐教。我刚学,最好给一段代码,让我参考一下
Memo1.Lines.Clear;
if adoquery2.Locate('线路编号',adoquery1.fieldbyname('线路编号').asstring,[loPartialKey]) then
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(adoquery2.FieldByName('线路编号').AsString);
Memo1.Lines.Add(adoquery2.FieldByName('保护情况').AsString);
............
end;
谢谢你。己实现。但是如何用游标键中“上键,下键也实现”呢,马上给分
Shift: TShiftState);
begin
if (Key=VK_Up) or (Key=VK_Down) then
begin
Memo1.Lines.Clear;
if adoquery2.Locate('线路编号',adoquery1.fieldbyname('线路编号').asstring, [loPartialKey]) then
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(adoquery2.FieldByName('线路编号').AsString);
Memo1.Lines.Add(adoquery2.FieldByName('保护情况').AsString);
............
end;
end;
end;
快给分了
if adoquery2.Locate('线路编号',adoquery1.fieldbyname('线路编号').asstring,[loPartialKey]) then
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(adoquery2.FieldByName('线路编号').AsString);
Memo1.Lines.Add(adoquery2.FieldByName('保护情况').AsString);
............
end;