to bee2518(真棒):我想要当HEJI2中的数据为“1”且data=5 (程序中另外设置的)时 HEJI显示为“是”,这该如何写?
说错了 是计算字段 象上面那样做 然后 试试把你的判断 写在 TableCalcFields事件
双击table控件,在弹出的编辑框中单击右键,选择add all fields... 再次单击右键,选择new field...进行设置如XXX 在table的onCalcFields事件编码 table1XXX.value:=table1AAA.value+table1BBB.value+table1CCC.value; 说明: AAA,BBB,CCC都是字段名,类型为integer,double,currary等。
直接把要显示的数据传到一个ClientDataSet里不就行了么,你想怎么显示就怎么显示
用Tquery组件,在查询结果集中添加你所要添加的列。 With Query1 do Begin Close; Sql.Clear; Sql.add('Select ... ...,sum(...),sum(...) From Table1 a,Table2 b, Table3 c'); Sql.add('Where ...... and ......'); Sql.add('Group by ......'); Open; End;
在相应的 QUERY中增加一个计算字段就行,方法很多了
使用计算字段方法: 先在你的数据集上(QUERY,TABLE)等双击再NEW加上你想要的字段(如HEJI) 类型STRING,属性是calculated 在代码中你用 if 条件成立 then query.fieldbyname('HEJI').AsSTRING:='是'
使用计算字段方法: 先在你的数据集上(QUERY,TABLE)等双击再NEW加上你想要的字段(如HEJI) 类型STRING,属性是calculated 在QUERY的onCalcFields事件编码 在代码中你用 if 条件成立 then query.fieldbyname('HEJI').AsSTRING:='是'
类型FLOAT,属性是calculated
在代码中你用
query.fieldbyname('HEJI').AsFloat:=query.fieldbyname('HEJI1').AsFloat+
query.fieldbyname('HEJI2').AsFloat;
象上面那样做 然后
试试把你的判断 写在 TableCalcFields事件
再次单击右键,选择new field...进行设置如XXX
在table的onCalcFields事件编码
table1XXX.value:=table1AAA.value+table1BBB.value+table1CCC.value;
说明:
AAA,BBB,CCC都是字段名,类型为integer,double,currary等。
With Query1 do
Begin
Close;
Sql.Clear;
Sql.add('Select ... ...,sum(...),sum(...) From Table1 a,Table2 b, Table3 c');
Sql.add('Where ...... and ......');
Sql.add('Group by ......');
Open;
End;
先在你的数据集上(QUERY,TABLE)等双击再NEW加上你想要的字段(如HEJI)
类型STRING,属性是calculated
在代码中你用
if 条件成立 then
query.fieldbyname('HEJI').AsSTRING:='是'
先在你的数据集上(QUERY,TABLE)等双击再NEW加上你想要的字段(如HEJI)
类型STRING,属性是calculated
在QUERY的onCalcFields事件编码
在代码中你用
if 条件成立 then
query.fieldbyname('HEJI').AsSTRING:='是'