| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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 文章: 4252 來自: 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 文章: 4252 來自: 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) 是什東東
 
要說它只是指令,似乎也對...   | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |