procedure Tf_scgcd.BitBtn1Click(Sender: TObject);
var
aq: tadoquery;
begin
aq := tadoquery.Create(application);
aq.Connection := dmdb;
with aq do
begin
close;
sql.clear;
begin
sql.add('select colour,pcs1, pcs2 from sctzditm where tzdno = ' + '''' + qymst.fieldbyname('tzdno').AsString + '''');
open;
end;
with aq do
begin
DisableControls;
First;
while not eof do
begin
qysp.Append;
qysp.FieldByName('colour').AsString := fieldbyname('colour').AsString;
qysp.FieldByName('pcs1').AsFloat := fieldbyname('pcs1').AsFloat;
qysp.FieldByName('pcs2').AsFloat := fieldbyname('pcs2').AsFloat;
next;
end;
end;
end;
qysp.EnableControls;
aq.free;
end;
点第一下全都可以调进来,点第二下的时候会调用重复的
有没有办法在点第二下的时候如果有相同colour那么pcs1, pcs2的数量相加
比如 colour pcs1 pcs2
红色 10 10
白色 15 15
这是第一次调过来的
如果第二次调用相同的那么就是
colour pcs1 pcs2
红色 20 20
白色 30 30
var
aq: tadoquery;
begin
aq := tadoquery.Create(application);
aq.Connection := dmdb;
with aq do
begin
close;
sql.clear;
begin
sql.add('select colour,pcs1, pcs2 from sctzditm where tzdno = ' + '''' + qymst.fieldbyname('tzdno').AsString + '''');
open;
end;
with aq do
begin
DisableControls;
First;
while not eof do
begin
qysp.Append;
qysp.FieldByName('colour').AsString := fieldbyname('colour').AsString;
qysp.FieldByName('pcs1').AsFloat := fieldbyname('pcs1').AsFloat;
qysp.FieldByName('pcs2').AsFloat := fieldbyname('pcs2').AsFloat;
next;
end;
end;
end;
qysp.EnableControls;
aq.free;
end;
点第一下全都可以调进来,点第二下的时候会调用重复的
有没有办法在点第二下的时候如果有相同colour那么pcs1, pcs2的数量相加
比如 colour pcs1 pcs2
红色 10 10
白色 15 15
这是第一次调过来的
如果第二次调用相同的那么就是
colour pcs1 pcs2
红色 20 20
白色 30 30
解决方案 »
- 招delphi人才!
- 各位大虾帮我解释个程序,我自己写的,但不知道怎么写论文,帮帮我(2)
- 请各位大虲救急,关于dbgrid的问题
- DELPHI有没有不规则的控件-比如说扇形、三角形?
- 在delphi中如何使用watches?急
- 快要急死了,一个有关delphi与Sql Server数据类型的问题请教各位,来者有分.
- 从今天起,开始征集树性结构的各行各业的数据库,重重给分,分不够继续加分,上不封顶!
- 高分高分!手写ado 不够我还加分,加到你满意,快来解决!(灌水没分)
- 在delphi中把二进制转换成十进制 ,如何转换,有函数吗 ?(null)
- 本人初学delphi请大家多指点!
- delphi如何可靠判断与外网连通?以前用的ping,担心被ping网站会屏蔽.整个InternetGetConnectedState外网断的,也显示局域网通
- 动态创建线程和管理线程的问题,高手请进!
begin
if qysp.locate('colour',fieldbyname('colour').AsString,[]) then
qysp.Edit
else begin
qysp.Append;
qysp.FieldByName('colour').AsString := fieldbyname('colour').AsString;
end;
qysp.FieldByName('pcs1').AsFloat := qysp.FieldByName('pcs1').AsFloat+fieldbyname('pcs1').AsFloat;
qysp.FieldByName('pcs2').AsFloat := qysp.FieldByName('pcs2').AsFloat+fieldbyname('pcs2').AsFloat;
next;
end;
修改记录时用EDIT
修改记录时用EDIT