我在做一个数据库(用的是Access)程序时碰到一个问题:我在form2中有一个计算列的值,需要在form7的report中显示出来,可又不是直接显示,当值为负时,取绝对值显示,当值为正时,不显示。我在写程序时,已经将Unit2写到了Unit7的Uses语句中来,但在QrExpr中Expression的Data Field中看不到选项,我该怎么解决这个问题?这个计算列的值需要在Unit7中重新计算一次吗?还是保存到表中去?请给我一个好方法!
调试欢乐多
给分把
直接在sql里控制
select (case field1 where field1<0 then field else field end) as field1 from table;
我没有太明白你的意思,该计算字段已经有了,只是在报表中无法显示的问题,你写的SQL句子,似乎和显示没什么关系,我写Delphi不太久,请教!
直接写试过了,没有用,不能识别。用Data Moduel一样没用。各位自己用一个简单例子试一下吧,关键是Data Field选项里找不到该计算字段呀
public
s:integer; //定义一个变量。 用于存放你要放的值。你是想每一条记录都有一个计算字值,还是最后合计
With dm.query1 do
begin
close;
sql.clear;
//将Form2中的计算值直接写入语句中
if StrToInt(Edit1.Text) < 0 then
sql.add(' Select SumMoney = -1 * ' + Edit1.Text )
else
sql.add(' Select SumMoney = '');
sql.add(' Field2 ,Field3 From Table ');
open;
end;在Form7中引用DataModal
并在报表中直接使用显示SumMoney字段就可以了
是每一条记录都有一个计算字段值谢谢各位,我需要试一下,如果方法成功就结贴送分
不知道你说的小问题是什么样的
你上Msn与我联系吧
[email protected]
我白天都在线写程序