VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

找不到sum.prg
前往頁面 上一頁  1, 2, 3  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
andywilliams



註冊時間: 2004-10-23
文章: 111


第 16 樓

發表發表於: 星期六 十二月 18, 2004 2:02 am    文章主題: 引言回覆

CALCULATE eExpressionList
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO VarList | TO ARRAY ArrayName]
[NOOPTIMIZE]

Arguments

eExpressionList Specifies the expressions that can contain any combination of the following functions:

AVG(nExpression)
CNT( )
MAX(eExpression)
MIN(eExpression)
NPV(nExpression1, nExpression2 [, nExpression3])
STD(nExpression)
SUM(nExpression)

Help 說它是函數喔
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 17 樓

發表發表於: 星期六 十二月 18, 2004 10:00 am    文章主題: 引言回覆

論語: 學而不思則惘,思而不學則殆 Cool
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 18 樓

發表發表於: 星期六 十二月 18, 2004 10:05 am    文章主題: 引言回覆

仔細推敲的話,
在CALCULATE裡的 sum() 其實只是一個參數而已,
只是一個字串而已!


FROM THE HELP OF THE "CALCULATE"
----------
Functions in the expression list eExpressionList are separated by commas. These functions are specific to CALCULATE and are described in detail later in this section. They should not be confused with similarly named independent functions.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 19 樓

發表發表於: 星期六 十二月 18, 2004 10:24 am    文章主題: 引言回覆

SUM (FIELD1) TO A 可以運作,
但是沒有 A=SUM(FIELD1).

SUM (FIELD1) TO A 可以是因為
"(FILED1)" 符合 SUM [eExpressionList] 的條件,
也就是 你可以寫 SUM (FIELD1+FIELD2) TO A,
而你只是少寫了 "+FIELD2" 而已

詳情請參閱 "COMPILER" "Lexical Analysis & Syntax Analysis"

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
bin1x



註冊時間: 2004-08-27
文章: 462


第 20 樓

發表發表於: 星期六 十二月 18, 2004 10:37 am    文章主題: 引言回覆

朱先生的作法就是結果,只是不曉得
問問題的人滿意報表做這樣的結果

select yyyy,sum(xxxx) from table1
而沒有group by 的話,結果只有一筆
且要以上的query 結果用report 表現出來
不會有明細的,是無法表現成像朱先生那樣的結果的
query 只抓取所有資料
資料進入報表之後,再由報表來處理
不過市面上的書,很少人去提到報表的例子
或是很少有人拿foxpro來處理報表
或是報表不被重視
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
andywilliams



註冊時間: 2004-10-23
文章: 111


第 21 樓

發表發表於: 星期六 十二月 18, 2004 11:38 am    文章主題: 引言回覆

函數可以當參數使用..
ex : str( val() )
val() 是 函數 ,把其傳回值給 str()當參數
但不能 str( sum() ), 因為 sum() 沒有傳回值
也不能 str( STRTRAN() ), 因為 STRTRAN() 傳回值是字串, STR()要求的參數是數值
所以 ?sum(), 在報表放 sum(),...都是要sum()顯示傳回值,當然出錯
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
bin1x



註冊時間: 2004-08-27
文章: 462


第 22 樓

發表發表於: 星期六 十二月 18, 2004 2:25 pm    文章主題: 引言回覆

syntech 寫到:
我不能佩服你再多...... Mr. Green

終於明白這句話的意思了
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
tjololo



註冊時間: 2004-11-29
文章: 38


第 23 樓

發表發表於: 星期六 十二月 18, 2004 3:10 pm    文章主題: 引言回覆

怎么回事,我按andywilliams的方法定义了mysum.prg后,提示没有定义parameter,我加了一条parameter A后,报表运行后变空了,只剩下一个分数汇总了,还不是分组汇总,加起来300多分。
回頂端
檢視會員個人資料 發送私人訊息
tjololo



註冊時間: 2004-11-29
文章: 38


第 24 樓

發表發表於: 星期六 十二月 18, 2004 3:37 pm    文章主題: 引言回覆

我只要得到朱先生的那种效果就心滿意足了!
回頂端
檢視會員個人資料 發送私人訊息
andywilliams



註冊時間: 2004-10-23
文章: 111


第 25 樓

發表發表於: 星期六 十二月 18, 2004 4:18 pm    文章主題: 引言回覆

MSDN :
aggregate function(累計式運算函數)
一個從一組值中產生一個值的函數,通常使用 GROUP BY 和 HAVING 子句。累計式運算函數包括 AVG( )、COUNT( )、MAX( )、MIN( ) 和 SUM( ),也稱為集合物件函數。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
andywilliams



註冊時間: 2004-10-23
文章: 111


第 26 樓

發表發表於: 星期六 十二月 18, 2004 4:58 pm    文章主題: 引言回覆

tjololo 寫到:
...定义了mysum.prg...

有幾點要注意
1. SUM 後 RECNO() 在 EOF, 需回復
2. 傳入當時變數當參數

ex:
MySun(學號)

*MySun.prg
PARAMETERS M學號
Mrecno=recno()
sum 学分 to M学分 for 學號=M學號 .and. recno() <= Mrecno
go Mrecno
return(M学分) && 個人學分累加值
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
tjololo



註冊時間: 2004-11-29
文章: 38


第 27 樓

發表發表於: 星期六 十二月 18, 2004 9:46 pm    文章主題: 引言回覆

andywilliams,还有朱先生,还有各位出意见的朋友们,非常感谢!总算得到滿意的结果。不过for 后面的and条件要去掉,或则得不到汇总结果。
我一个完全不懂vfp的人能够做出一个简单的成绩管理系统,真的很高兴,这完全是大家的功劳。
回頂端
檢視會員個人資料 發送私人訊息
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 28 樓

發表發表於: 星期日 十二月 19, 2004 12:03 am    文章主題: 引言回覆

CALCUATE 命令中的 SUM() 以及 SELECT - SQL 命令中的 SUM(),它們只是依存於其命令的「內儲式」函數,而我要強調的是,它們不是 VFP 提供的「標準」函數

會這樣說,那麼就拿 CALCUATE 命令中另一個你稱之為的函數 COUNT(),你用測試 SUM() 的方式拿來測試 COUNT(),你覺得 VFP 對它的反應是如何呢?

那麼 SUM() 卻怎麼會這樣了,我覺得是因為 VFP 中有 SUM 命令的關係,不過只是很好奇 VFP 怎麼能允許這樣的行為。

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
bin1x



註冊時間: 2004-08-27
文章: 462


第 29 樓

發表發表於: 星期日 十二月 19, 2004 8:42 am    文章主題: 引言回覆

朱育興 寫到:
CALCUATE 命令中的 SUM() 以及 SELECT - SQL 命令中的 SUM(),它們只是依存於其命令的「內儲式」函數,而我要強調的是,它們不是 VFP 提供的「標準」函數

會這樣說,那麼就拿 CALCUATE 命令中另一個你稱之為的函數 COUNT(),你用測試 SUM() 的方式拿來測試 COUNT(),你覺得 VFP 對它的反應是如何呢?

那麼 SUM() 卻怎麼會這樣了,我覺得是因為 VFP 中有 SUM 命令的關係,不過只是很好奇 VFP 怎麼能允許這樣的行為。

不說倒是沒注意
count 成了cnt()
節取calcuate說明的一小部份
CNT( ) Returns the number of records in the table. Only records meeting the Scope and/or optional FOR or WHILE conditions are included in the result.
倒是有趣
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
andywilliams



註冊時間: 2004-10-23
文章: 111


第 30 樓

發表發表於: 星期日 十二月 19, 2004 11:47 am    文章主題: 引言回覆

答案並不重要,關鍵在於思考
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2, 3  下一頁
2頁(共3頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作