计算字段(100分)

  • 主题发起人 主题发起人 Haha...
  • 开始时间 开始时间
H

Haha...

Unregistered / Unconfirmed
GUEST, unregistred user!
如下字段
pos :integer
ismr:boolean
LB :integer
Ej :integer (计算字段)
要实现 Ej 的值为对应记录的pos值与
它上面最近的ismr为真的记录的LB值
之和.
 
continue...
 
if table1ismr.value=true then
begin
tableej.value:=tablepos.value+tablelb.value;
end;
 
>>要实现 Ej 的值为对应记录的pos值与
它上面最近的ismr为真的记录的LB值
之和.
你是如何排序的??有关键字吗?
我觉得要用循环判断.
 
procedure onquerycal.....
begin
if query.fieldbyname('ismr').asboolean then
begin
query.fieldbyname('ej').asinteger := query.fieldbyname('pos').asinteger +
query.fieldbyname('lb').asinteger
end;
end;
 
大家别忙着写代码抢分,看看
wumeng说的,
<font color=red>要实现 Ej 的值为对应记录的pos值与
它上面最近的ismr为真的记录的LB值
之和.
你是如何排序的??有关键字吗?
我觉得要用循环判断.</font>
 
with qurey1 do
begin
close;
sql.clear;
sql.add('Select pos,ismr,lb,pos+ismr as ej From ......');
prepare;
open;
end
 
nearest:=0;
while not query1.eof do
begin
if query1['ismr'] then nearest:=query1['lb'];
query1['ej']:=query1['pos']+nearest;
query1.next;
end;
 
多人接受答案了。
 
后退
顶部