用公式实现动态设置图表的轴数据项
生活随笔
收集整理的這篇文章主要介紹了
用公式实现动态设置图表的轴数据项
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文適用于單表中有多類統(tǒng)計(jì)項(xiàng)目的情況,同時(shí)也適用制作程序的公用模塊。
本文僅使用了程序與水晶報(bào)表的公式參數(shù)傳遞,而未使用動(dòng)態(tài)創(chuàng)建功能
傳統(tǒng)的圖表制作中,我們都是先選擇要進(jìn)行圖表顯示的字段,在這里,我們的思路是以公式代替實(shí)際字段代替報(bào)表
用不同的字段填充公式,從而達(dá)到動(dòng)態(tài)設(shè)置的目的
在這里要說明一下,縱軸上的匯總字段x2,如果要匯總的話,請(qǐng)將該公式默認(rèn)為0
此時(shí)的報(bào)表呈現(xiàn)如下,為了顯示的美觀,我們把各默認(rèn)標(biāo)題置為空,用另外的3個(gè)公式來實(shí)現(xiàn)這幾個(gè)項(xiàng)目
將x軸標(biāo)題和報(bào)表標(biāo)題公式拉到與圖表同寬,字體設(shè)置未居中
將y軸標(biāo)題公式縱向拉到與圖表同高,字體居中,寬度拉到一個(gè)字寬,且設(shè)置屬性為 可擴(kuò)大
保存之~~
然后切換到程序中,以VB6為例
Option?Explicit
Private?crApp?As?New?CRAXDRT.Application
Private?crReport?As?CRAXDRT.Report
Private?Sub?Form_Load()
????Set?crReport?=?crApp.OpenReport(App.Path?&?"\report1.rpt")
????
????'??注意參數(shù)的順序(是按照你新建的順序的,與顯示順序可能不一致),如果你拿不準(zhǔn),彈出來看看
????'
????'MsgBox?crReport.FormulaFields(1).Name
????'MsgBox?crReport.FormulaFields(2).Name
????'MsgBox?crReport.FormulaFields(3).Name
????'MsgBox?crReport.FormulaFields(4).Name
????'MsgBox?crReport.FormulaFields(5).Name
????
????'?動(dòng)態(tài)指定兩個(gè)軸的字段(表名.字段)
????crReport.FormulaFields(1).Text?=?"{產(chǎn)品.產(chǎn)品類別}"
????crReport.FormulaFields(2).Text?=?"{產(chǎn)品.產(chǎn)品?ID}"
????
????'設(shè)置軸描述,題頭,注意!傳入的值必須以雙引號(hào)包起來
????crReport.FormulaFields(3).Text?=?"""我的橫軸啊橫軸"""
????crReport.FormulaFields(4).Text?=?"""我的縱軸啊縱軸"""
????crReport.FormulaFields(5).Text?=?"""標(biāo)題啊標(biāo)題"""
????
????CRViewer91.ReportSource?=?crReport
????CRViewer91.ViewReport
End?Sub
本文僅使用了程序與水晶報(bào)表的公式參數(shù)傳遞,而未使用動(dòng)態(tài)創(chuàng)建功能
傳統(tǒng)的圖表制作中,我們都是先選擇要進(jìn)行圖表顯示的字段,在這里,我們的思路是以公式代替實(shí)際字段代替報(bào)表
用不同的字段填充公式,從而達(dá)到動(dòng)態(tài)設(shè)置的目的
在這里要說明一下,縱軸上的匯總字段x2,如果要匯總的話,請(qǐng)將該公式默認(rèn)為0
此時(shí)的報(bào)表呈現(xiàn)如下,為了顯示的美觀,我們把各默認(rèn)標(biāo)題置為空,用另外的3個(gè)公式來實(shí)現(xiàn)這幾個(gè)項(xiàng)目
將x軸標(biāo)題和報(bào)表標(biāo)題公式拉到與圖表同寬,字體設(shè)置未居中
將y軸標(biāo)題公式縱向拉到與圖表同高,字體居中,寬度拉到一個(gè)字寬,且設(shè)置屬性為 可擴(kuò)大
保存之~~
然后切換到程序中,以VB6為例
Option?Explicit
Private?crApp?As?New?CRAXDRT.Application
Private?crReport?As?CRAXDRT.Report
Private?Sub?Form_Load()
????Set?crReport?=?crApp.OpenReport(App.Path?&?"\report1.rpt")
????
????'??注意參數(shù)的順序(是按照你新建的順序的,與顯示順序可能不一致),如果你拿不準(zhǔn),彈出來看看
????'
????'MsgBox?crReport.FormulaFields(1).Name
????'MsgBox?crReport.FormulaFields(2).Name
????'MsgBox?crReport.FormulaFields(3).Name
????'MsgBox?crReport.FormulaFields(4).Name
????'MsgBox?crReport.FormulaFields(5).Name
????
????'?動(dòng)態(tài)指定兩個(gè)軸的字段(表名.字段)
????crReport.FormulaFields(1).Text?=?"{產(chǎn)品.產(chǎn)品類別}"
????crReport.FormulaFields(2).Text?=?"{產(chǎn)品.產(chǎn)品?ID}"
????
????'設(shè)置軸描述,題頭,注意!傳入的值必須以雙引號(hào)包起來
????crReport.FormulaFields(3).Text?=?"""我的橫軸啊橫軸"""
????crReport.FormulaFields(4).Text?=?"""我的縱軸啊縱軸"""
????crReport.FormulaFields(5).Text?=?"""標(biāo)題啊標(biāo)題"""
????
????CRViewer91.ReportSource?=?crReport
????CRViewer91.ViewReport
End?Sub
運(yùn)行之,效果如下
特別說明:
crReport.FormulaFields(3).Text = """我的橫軸啊橫軸"""
??? crReport.FormulaFields(4).Text = """我的縱軸啊縱軸"""
??? crReport.FormulaFields(5).Text = """標(biāo)題啊標(biāo)題"""
注意!傳入報(bào)表的公式應(yīng)為 "我的橫軸啊橫軸" ,而不是 我的橫軸啊橫軸 。
報(bào)表制作視頻可在此處下載:http://files.cnblogs.com/babyt/CR20080122Dychart.rar
轉(zhuǎn)載于:https://www.cnblogs.com/chenyong677/archive/2008/10/10/1308115.html
總結(jié)
以上是生活随笔為你收集整理的用公式实现动态设置图表的轴数据项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql -u root -p 解释
- 下一篇: 最后一日