主题:一个一直没有解决的问题。。请教了。。。
jiujie090821
[专家分:0] 发布于 2009-08-31 17:53:00
我要做一个表单。。表单中。。插入了表格控件。。表格控件的数据源是我已经设计好的一个表。。jinhuobiao.dbf。。我在表单中的表格内。。引用了四项字段。。
进货时间 品种名称 进货价格 进货数量 进货金额
其中进货金额在表中是个空的。。我打算表单里的表格控件中用jinhuobiao.进货单价 * jinhuobiao.进货数量 的方式完成计算。。
这个我已经解决了。。
而我需要的问题是。。能否在最后表单中表格控件中显示的记录中。。进货金额。。完成自动求和。。。。
比如
进货时间 品种名称 进货价格 进货数量 进货金额
03/01/03 大沙 0.3 100 30
03/03/03 水泥 10 500 5000
03/05/03 石子 50 100 5000
总计 10030
我需要的就是。。怎么样把最后一条记录能够加上去。。而且。。前面记录都完整呢。。即便以后再增加记录。。最后加上去的汇总记录能够完成自动汇总呢。。
以前我提这个问题后。。好多朋友帮忙。。可都没有解决问题。。问题到底出在哪里呢。。
回复列表 (共10个回复)
沙发
sywzs [专家分:5650] 发布于 2009-09-01 07:44:00
SELECT * FROM jinhuobiao INTO CURSOR temp readwrite
REPLACE ALL 进货金额 WITH 进货价格 * 进货数量
SELECT SUM(进货金额) as zj FROM temp INTO CURSOR tmp
INSERT INTO temp(品种名称,进货金额) value("总计",tmp.zj)
thisform.grid1.RecordSource="temp"
板凳
jiujie090821 [专家分:0] 发布于 2009-09-01 10:21:00
楼上的朋友。。这个代码代价添加到哪里。。。在表单的load中吗。。。
我保存的时候。。提示第一行出现不能识别的命令短语或者关键字。。。
3 楼
jiujie090821 [专家分:0] 发布于 2009-09-01 10:23:00
我忽略后。。保存运行。。。在运行中。。忽略多次。。最后的结果是。。。没有添加记录。。。
4 楼
jiujie090821 [专家分:0] 发布于 2009-09-01 10:25:00
对了。。忘记说了。。我用的是VFP6。。。
5 楼
sywzs [专家分:5650] 发布于 2009-09-01 10:57:00
放到表单的 init 事件中。
或者设置一个按钮,放入 click 事件中。
6 楼
jiujie090821 [专家分:0] 发布于 2009-09-01 14:45:00
我后来是设置了个按钮。。放到了click事件中。。但是单击运行的时候。。仍然提示错了。。提示第一行出现不能识别的命令短语或者关键字。。。
7 楼
jiujie090821 [专家分:0] 发布于 2009-09-01 14:48:00
楼上的。。我用的是VFP6啊。。是不是那个readwrite不能在VFP6中出现啊。。。
8 楼
Vii [专家分:1130] 发布于 2009-09-01 16:44:00
SELECT 进货时间,品种名称,进货价格,进货数量,进货金额 FROM jinhuobiao
union all
select '总计','',0,sum(进货数量),sum(进货金额) from jinhuobiao
合并下好了.
9 楼
sywzs [专家分:5650] 发布于 2009-09-02 15:36:00
回复7楼:
在6.0中把 SELECT * FROM jinhuobiao INTO CURSOR temp readwrite
改为 SELECT * FROM jinhuobiao INTO table temp
退出程序时用 ERASE temp.dbf 删除这个表
10 楼
colcolcom [专家分:2330] 发布于 2009-09-05 07:34:00
你的这个问题有点超出了VFP表格的功能了,只能人为给他添加一个功能,我的做法是在表格控件中添加一个控件,让他一直停在表格控件的底部,并显示所有数值列的总和,模块有点长,
告诉你思路,你自己去试一下,
在窗体中放入一个grid1和一个Container1,设置他们一样宽,
在Container1中写入一个事件,能自动根据grid1的列数添加相应的textbox,并让每个textbox与grid1的Column相对应,显示在它下面,
然后在grid1的事件里写入
sum all to array lsb
....后面的就简单了,lsb数组中存放了你想要的和,你只要把他显示出来就OK了
这样做的好处是,一不会更改你的表,二\不用去托记录就能始终看到和.
我来回复