上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 1 樓
|
發表於: 星期四 十二月 16, 2004 10:22 am 文章主題: 找不到sum.prg |
|
|
我是按学号分组打印的一张报表,在组标头加入一域控件,想用sum函数统计学分,将sum(expN)中的expN设为字段"学分",可总是说找不到sum.prg,我在命令窗口中试的时候也找不到。怎么回事?
还有,报表中的控件能不能像表单中一样赋值? |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 2 樓
|
|
回頂端 |
|
 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 3 樓
|
發表於: 星期四 十二月 16, 2004 11:02 am 文章主題: |
|
|
不行啊,还是找不到sum.prg,是不是我的vfp有问题啊! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 十二月 16, 2004 11:09 am 文章主題: |
|
|
應該沒有 sum(),
只有
SUM command :
SUM [eExpressionList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY ArrayName]
[NOOPTIMIZE]
及
CALCULATE eExpressionList
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO VarList | TO ARRAY ArrayName]
[NOOPTIMIZE]
及 select sum(*) as ......
三種"sum" _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 5 樓
|
發表於: 星期四 十二月 16, 2004 10:26 pm 文章主題: |
|
|
可能真是这样,因为我从装了vfp6.0,还是找不到sum.prg
那我该怎么办,这应该是很简单的吧,如果要写代码不太麻烦了吗。
添加域--在表达生成器中点省略号--选择数学函数sum--双击temp.学分
按上面操作后找不到sum.prg
如果先点击计算,求总和的话,只有一个分组的字段"学号",选不到学分,预览后结果为0
我想到的办法是按楼上说的,用select sum(学分) from temp where 学号=组标头,又觉得太复杂了,再说组标头我也不知用什么代替。我从来没搞过报表,要是它能像表单那们设计就好了。
请问那位有更好的办法,先谢了! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 6 樓
|
發表於: 星期四 十二月 16, 2004 10:50 pm 文章主題: |
|
|
我不能佩服你再多......  _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 7 樓
|
發表於: 星期四 十二月 16, 2004 11:21 pm 文章主題: |
|
|
該控制項設定時(就是有一個「報表運算式」的對話方塊),點選其「計算」按鈕會出現「計算欄位」對話方塊,選其中的「加總」選項是不是可以達到你的要求。要不就設定一個報表變數來用(在報表中設定)。 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 8 樓
|
發表於: 星期五 十二月 17, 2004 12:57 am 文章主題: |
|
|
晕!我试了N种方法了,就三种结果:
0,某一门的学分,要不就是语法错误。
看来还是小学没过关 |
|
回頂端 |
|
 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 9 樓
|
發表於: 星期五 十二月 17, 2004 1:14 am 文章主題: |
|
|
域控件都没有名字的吗?那系统怎么确定某个控件。
是不是不可以编代码?只用表达式生成器,这东东太不好用了。 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 10 樓
|
發表於: 星期五 十二月 17, 2004 3:20 am 文章主題: |
|
|
EXCEL 是有 SUM() 函數,SELECT - SQL 中也可用 SUM(),但 VFP 本身並沒有 SUM() 函數。
你給我資料範例,我再幫你如何用報表設計工具中功能做出你要的。 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
kechange
註冊時間: 2004-12-16 文章: 81
第 11 樓
|
發表於: 星期五 十二月 17, 2004 9:27 am 文章主題: |
|
|
容小弟一言...
在VFP 9裡,你用SELECT SUM(分數) AS 總分 FROM 成績資料 INTO CURSOR TEMP
這個指令是ok的...
再來...你用指令
USE 成績資料
SUM(分數) TO AA
SUM 分數 TO BB
二種方式也都是ok的..
不過SUM()這個函數不能用在報表檔裡..你在報表檔裡下這個指令..一定會有錯誤訊息..所以你如果要在報表檔裡SUM欄位的話.不能用SUM()函數..請用報表提供的加總功能...
要不然一個更簡單的方法...
你先計算好資料..在程式裡先利用SUM()函數先計算好..然後直接把結果丟給報表檔去列印就好了....這樣報表檔是不是就不用再SUM()了..如果報表的最下方.你要合計的話..就用報表的合計功能就ok了... |
|
回頂端 |
|
 |
tjololo
註冊時間: 2004-11-29 文章: 38
第 12 樓
|
發表於: 星期五 十二月 17, 2004 1:08 pm 文章主題: |
|
|
谢谢楼上的意见,我是分组计算的,要的是每一个学生的总学分,如果在外面实现的话只能把他用group by 做为另一个字段。
我想这在报表中不难实现,只是我不懂而已。如果能把范例贴出来的话,可能一下就解决了。可是在这儿好像不能贴图,也不能添加附件。
temp(学号 c( ,姓名 c(6),班级 c(6),学科 c(20),成绩 n(20),学分 n(20))
举例:01041101 舒勇 010411 英语 88 3
01041401 舒勇 010411 数学 99 6
01041402 徐勇 010411 物理 85 4
01041402 徐勇 010411 数学 95 6
只要按照学号把分汇总就可以了:
学号:01041401 姓名:舒勇 学分:9
01041101 舒勇 010411 英语 88 3
01041401 舒勇 010411 数学 99 6
学号:01041402 姓名:徐勇 学分:10
01041402 徐勇 010411 物理 85 4
01041402 徐勇 010411 数学 95 6
是不是很好实现,请不要笑我。谢谢各位了。 |
|
回頂端 |
|
 |
andywilliams
註冊時間: 2004-10-23 文章: 111
第 13 樓
|
發表於: 星期五 十二月 17, 2004 7:57 pm 文章主題: |
|
|
tjololo 寫到: | 不行啊,还是找不到sum.prg,是不是我的vfp有问题啊! |
不是你的vfp有问题, 是你不會用指令.
sum() 函數沒有傳回值 Return Value, 不能這樣用.
vfp 會以為你要呼叫 自定程式(或程序),所以又找看看有沒有你自定的 sum.prg或proc sum, 找不到, 就告訴你 "找不到sum.prg"
可以自定 MySum()
*Mysum.prg
sum(学分) to A
Return(A)
ps.你要的用分組計算就可以了. |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 14 樓
|
發表於: 星期五 十二月 17, 2004 11:43 pm 文章主題: |
|
|
VFP 是沒有 SUM() 函數的,在命令視窗輸入
? SUM(FieldName)
VFP 會立即出現「'sum.prg' 檔案不存在」的錯誤訊息
但 SUM 命令是有的,以前只知道用 SUM FieldList TO ...,但不知道可以 SUM(FieldName) TO ... 這樣的用法。還真是意外收獲啊!謝啦!
回主題
我試過了,如果你要把加總的資訊放在組別的標題是不行的,但如用下列表達(放在組別註腳)就可以做到。做法就跟我之前說的一樣。
如果你一定要將加總的資訊放在組別標題的位置上的話,在報表中是做不到的,因為組別標題還不知道它到底有幾筆資料,所以它沒得加總;此時你一定要在呼叫報表前先算好才能做到。
當然啦!放在組別註腳就可以直接在報表設計工具中設定(因為組別註腳可以知道它總共有幾筆資料,以及各資料要加總的值)。所以怎麼做就由你自己決定了
01041101 舒勇 010411 英语 88 3
01041401 舒勇 010411 数学 99 6
----------------------------------------------
学号:01041401 姓名:舒勇 学分:9
01041402 徐勇 010411 物理 85 4
01041402 徐勇 010411 数学 95 6
---------------------------------------------------------------
学号:01041402 姓名:徐勇 学分:10 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
andywilliams
註冊時間: 2004-10-23 文章: 111
第 15 樓
|
發表於: 星期六 十二月 18, 2004 1:30 am 文章主題: |
|
|
to 朱兄:
試試 ? SUM(FieldName) 跟 SUM(FieldName)
SUM(FieldName) 說它不算函數,它又可以傳變數
不過沒有傳回值是確定的, 所以不能問 ? SUM(FieldName) 是什東東
要說它只是指令,似乎也對...  |
|
回頂端 |
|
 |
|