我們都知道在 EXCEL 中有很多很多的計算公式、靈活多變的計算方式、方便快捷的圖表處理、和功能強大的 VBA 語言,可以說 EXCEL 可能是用的表格處理軟件。我敢說:微軟的產(chǎn)品中大概就 EXCEL !
但是,怎樣用 Foxpro 快速產(chǎn)生統(tǒng)計表,并將數(shù)據(jù)送到 Excel表格中,從而代替 Foxpro 的報表工具呢?
我們大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一個調用Ole Automation 的函數(shù) CREATEOBJECT,用該函數(shù)可以讓 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服務的程序進行通訊。而 Excel 更是一個標準的 Ole Automation 服務器程序,我們可以在前端將數(shù)據(jù)傳送到后端的 Excel 服務程序,用后端服務程序進行表格處理,從而彌補 Visual Foxpro的不足。
由于歷史原因,我們作報表都習慣用 Total、Count、Sum 或者直接在報表中工具中計算,速度最快的大概也就是 Total 了,但不知道還有多少人還在堅持使用 Total 命令進行計算,有沒有更好的計算方法呢?當然有啦!我在實際使用中積累有一定的經(jīng)驗但愿能給各位起到小小的啟發(fā)。
假設有一表:Table1 是一個人員檔案,里面的表結構如下:
----- 字段名 -- 類型及長度---------
編號 C,2
部門 C,10
姓名 C,10
性別 C,2
出生日期 D
職務 C,10
文化程度 C,10
內(nèi)容大概如下
TABLE1.DBF
編號 部門 姓名 性別 出生日期 職務 文化程度
1 工程部 張三 男 1971-01-11 工程師 大學本科
2 銷售部 李四 男 1967-02-23 經(jīng)理 大學本科
3 工程部 王武 1954-03-14 技術員 大學??啤?BR> 4 總經(jīng)理室 趙潔雅 女 1975-04-05 秘書 碩士研究生
5 銷售部?。?977-05-09 銷售經(jīng)理 高中
6 工程部 大文 1969-03-30 總工程師 大學??啤?BR> 7 銷售部 .. 1961-10-10 銷售經(jīng)理 大學??啤?BR> 8 總經(jīng)理室 莊稼 1961-10-10 總經(jīng)理 大學??啤?BR> 當然實際的數(shù)據(jù)應該比這里多很多,要不還用統(tǒng)計干嗎,我不過是舉例說明而已。我不知道你們在使用 SQL 語句時有沒有用使用函數(shù)的習慣,反正我是相當愿意在 SQL 中使用函數(shù),我認為使用函數(shù)的 SQL 語句雖然語句長一點,但是可以讓你的程序看起來更清晰、簡潔。
說道這里我要感謝當初發(fā)明出 IIF 函數(shù)那位高人,要沒有他(她)我也沒有機會在這里羅嗦這么久,在后面提到的快速產(chǎn)生統(tǒng)計表中將大量的運用 IIF 函數(shù)。也許你會覺得奇怪,你統(tǒng)計的時候用那么多 IIF 干嗎?別急,下面就讓我慢慢的告訴你。
看看我們前面描述的表,我們可能要統(tǒng)計各個部門的“性別|職務|文化程度”等的分布情況,簡單一點我給畫了一個表個出來,可能表格更能說明白:
各部門人員分布情況表
單位:人
---------------------------------
部門?。∧校∨”究啤。?疲夹g人員|管理人員|秘書
---------------------------------
工程部?。。。。。。。?BR> 銷售部?。。。。。。。?BR> 總經(jīng)理室|?。。。。。。?BR> |?。。。。。。?BR> | |?。。。。。?BR> ---------------------------------
但是,怎樣用 Foxpro 快速產(chǎn)生統(tǒng)計表,并將數(shù)據(jù)送到 Excel表格中,從而代替 Foxpro 的報表工具呢?
我們大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一個調用Ole Automation 的函數(shù) CREATEOBJECT,用該函數(shù)可以讓 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服務的程序進行通訊。而 Excel 更是一個標準的 Ole Automation 服務器程序,我們可以在前端將數(shù)據(jù)傳送到后端的 Excel 服務程序,用后端服務程序進行表格處理,從而彌補 Visual Foxpro的不足。
由于歷史原因,我們作報表都習慣用 Total、Count、Sum 或者直接在報表中工具中計算,速度最快的大概也就是 Total 了,但不知道還有多少人還在堅持使用 Total 命令進行計算,有沒有更好的計算方法呢?當然有啦!我在實際使用中積累有一定的經(jīng)驗但愿能給各位起到小小的啟發(fā)。
假設有一表:Table1 是一個人員檔案,里面的表結構如下:
----- 字段名 -- 類型及長度---------
編號 C,2
部門 C,10
姓名 C,10
性別 C,2
出生日期 D
職務 C,10
文化程度 C,10
內(nèi)容大概如下
TABLE1.DBF
編號 部門 姓名 性別 出生日期 職務 文化程度
1 工程部 張三 男 1971-01-11 工程師 大學本科
2 銷售部 李四 男 1967-02-23 經(jīng)理 大學本科
3 工程部 王武 1954-03-14 技術員 大學??啤?BR> 4 總經(jīng)理室 趙潔雅 女 1975-04-05 秘書 碩士研究生
5 銷售部?。?977-05-09 銷售經(jīng)理 高中
6 工程部 大文 1969-03-30 總工程師 大學??啤?BR> 7 銷售部 .. 1961-10-10 銷售經(jīng)理 大學??啤?BR> 8 總經(jīng)理室 莊稼 1961-10-10 總經(jīng)理 大學??啤?BR> 當然實際的數(shù)據(jù)應該比這里多很多,要不還用統(tǒng)計干嗎,我不過是舉例說明而已。我不知道你們在使用 SQL 語句時有沒有用使用函數(shù)的習慣,反正我是相當愿意在 SQL 中使用函數(shù),我認為使用函數(shù)的 SQL 語句雖然語句長一點,但是可以讓你的程序看起來更清晰、簡潔。
說道這里我要感謝當初發(fā)明出 IIF 函數(shù)那位高人,要沒有他(她)我也沒有機會在這里羅嗦這么久,在后面提到的快速產(chǎn)生統(tǒng)計表中將大量的運用 IIF 函數(shù)。也許你會覺得奇怪,你統(tǒng)計的時候用那么多 IIF 干嗎?別急,下面就讓我慢慢的告訴你。
看看我們前面描述的表,我們可能要統(tǒng)計各個部門的“性別|職務|文化程度”等的分布情況,簡單一點我給畫了一個表個出來,可能表格更能說明白:
各部門人員分布情況表
單位:人
---------------------------------
部門?。∧校∨”究啤。?疲夹g人員|管理人員|秘書
---------------------------------
工程部?。。。。。。。?BR> 銷售部?。。。。。。。?BR> 總經(jīng)理室|?。。。。。。?BR> |?。。。。。。?BR> | |?。。。。。?BR> ---------------------------------

