如何给计算字段或计算域赋值?
我用SQL语句生成了一个数据窗口,里面有一个计算字段compute_0008(系统自已生成的名字),我在代码里对compute_0008赋值没有效果,,代码如下:
dw_1.setitem(1,'compute_0008',28.00)
请大家多多指教。。。。。
另:计算域可不可以赋值。。。如果可以应该怎么做?
我翻过以前的贴子,一有篇是关于这个问题的,,,答案是:用数据源里的计算字段就可以赋值了,,,可是我没有尝试成功.
问题点数:20、回复次数:14Top
1 楼ice2water(冰冻三尺)回复于 2002-09-22 16:36:18 得分 0
dw_1.object.compute_0008[1]=28Top
2 楼inalover(奇遇)回复于 2002-09-22 17:00:18 得分 0
用下面两个
dw_1.setitem(1,'compute_0008',28.00)
dw_1.object.compute_0008[1]=28
应该改不了计算域的值,不明白为什么要在程序中更改计算域的值??
如果是想根据列的不同情况,设定计算域的值的话,完全可以再计算域表达式中用if()或case()等解决的
数据源里的计算字段是指在
数据窗口的SQL语句中的计算域
如数据窗口的sql为:select jg,sl,(jg*sl)je from cjb
则je这样的计算域可以用上面两式赋值,因为数据窗口把它当列一样处理的
Top
3 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:24:48 得分 0
我就是想实现一个带有行号的文本框呀。。。。然后我再用循环给这个文本框赋值。。。。。请教,,多谢。,,Top
4 楼inalover(奇遇)回复于 2002-09-22 17:41:43 得分 0
用一个计算域表达式为getrow(),另用一个字段做文本框赋值不就可用了么?Top
5 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:44:04 得分 0
上贴说得不够详细。。下面详细说明。
在我的发票打印数据窗口中,要求有一个水费字段。。这个水费字段的值要从另外一个数据窗口中对月份水费累加而得到的。。。我想在程序中运行以下的代码来给水费字段赋值。。。可是不行。
for i=1 to dw_1.rowcount()
shuifei=dw_1.getitemdecimal(i,'一月水费')
sumshuifei=sumshuifei+shuifei
dw_1.setitem(i,'compute_1',sumshuifei)
next
但是setitem不好使。。。。我的那个水费字段是用计算字段做的。。。能看明白吗?Top
6 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:46:22 得分 0
to奇遇,,,没看明白,详细说说。Top
7 楼inalover(奇遇)回复于 2002-09-22 18:01:44 得分 10
看了看好像还是一个数据窗口呀?^_^
不过好像明白点,那就用在打印数据窗口的数据源
sql select处加一个计算列来解决
例如在compute column处加一个1.00 sf
然后在数据窗口添加该计算列sf,记住是列sf,而不是计算域
这样就可以在程序给该计算列赋值了
Top
8 楼programbcb(datawindow)回复于 2002-09-22 18:14:59 得分 0
把表达式写为:sum(shuifei for all)Top
9 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 18:39:08 得分 0
to programbcb
一条记录有12个月的水费额。。。。
Top
10 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 18:39:28 得分 0
实在不行的话,,,,我就加一个字段得了。。唉!Top
11 楼sdcgx(醒目仔)回复于 2002-09-22 18:43:28 得分 0
在sql中加 1 as flag
之后的flag字段你就可以任意处理Top
12 楼inalover(奇遇)回复于 2002-09-22 18:45:17 得分 10
是一个数据窗口么?那可以按年分组呀
分组后用sum(shuifei for group 1)Top
13 楼pborvb(高举PB伟大旗帜)回复于 2002-09-22 20:01:16 得分 0
to morningdew (晓峰) :
你在做自来水公司的水费系统吗?我也做,而且已运行,有兴趣交流吗?Top
14 楼morningdew(蓝石-BlueStone)回复于 2002-09-28 21:56:14 得分 0
to pborvb
好的。。。常联系。
QQ:85554108
MSN:bluestonemds@21cn.com
E-mail: bluestonemds@21cn.com
Top




