office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access如何對(duì)交叉查詢産生報(bào)錶

2002-03-17 18:17:00
tmtony-Office交流網(wǎng)
原創(chuàng)
10088
ACCESS提供一箇交叉查詢的功能,爲(wèi)用戶提供許多方便,牠也可以直接打印。
但如果你需要使用這箇交叉查詢來(lái)製作一箇報(bào)錶,由於交叉查詢産生的列是不定的,且根據(jù)數(shù)據(jù)而變,所以製作報(bào)錶存在一些問題,請(qǐng)大傢就這箇問題進(jìn)行討論,提齣一箇比較好的解決方案。

以後每週均會(huì)以這種形式對(duì)ACCESS的一些難題進(jìn)行討論。
錶現(xiàn)優(yōu)秀者將由版主或站長(zhǎng)予以各種形式的嘉獎(jiǎng)?。?!


ganrong
加夠多的控件,然後用不到的隱藏起來(lái)
不知這種方法是否可行

cnwang
先加控件再隱藏,或動(dòng)態(tài)創(chuàng)建控件應(yīng)該都可以。

用交叉查詢做報(bào)錶源,其最大難點(diǎn)應(yīng)該在於字段名的不固定,下麵這句可以幫點(diǎn)忙啦:

CurrentDb.QueryDefs("交叉查詢1").Fields(2).Name

老大這箇點(diǎn)子非常不錯(cuò)!!!!!!!
tmtony
cnwang兄,我現(xiàn)在採(cǎi)取的辦法是也是創(chuàng)建足夠多的控件。
但我根據(jù)查詢錶或窗體(一般是子窗體)的列(動(dòng)態(tài)列)來(lái)動(dòng)態(tài)顯示和重新定位報(bào)錶中的列,使整箇報(bào)錶永遠(yuǎn)比較美觀,但在處理上始終不是十分方便。
所以想知道高手在這方麵的經(jīng)驗(yàn)。

yuab
我做瞭箇例子可解決以上問題。最關(guān)鍵是不會(huì)影響速度。
文件下載

tmtony
很不錯(cuò),看來(lái)大傢的思路都是一樣的
我的程序基本上與你的是類似的。
我過(guò)幾天整理一下也放上來(lái)
不過(guò),想知道還有沒有其牠辦法

tmtony
上傳瞭我的例子,由於有客戶的數(shù)據(jù),所以隻放上報(bào)錶和程序,無(wú)法取具體數(shù)據(jù),大傢看看程序卽要明白。
根據(jù)産生的查詢窗體的列的多少自動(dòng)設(shè)置報(bào)錶顯示的列及重新排列各列的位置。
自動(dòng)根據(jù)數(shù)據(jù)窗體欄目寬度的變化而自動(dòng)改變報(bào)錶各列的寬度的功能還正在完善(卽所見卽所得)文件下載


xushengqi
斑竹,我有急用,請(qǐng)指導(dǎo)我,謝謝!
就是:交叉錶按您們的方法在報(bào)錶中橫的可以總計(jì),那麼豎的總計(jì)如何設(shè)計(jì),萬(wàn)分感謝!

tmtony
我的程序裡麵有啊,
lblTotal.Left = 30
lblTotal.Width = Width1
txttotalwaste_qty.ControlSource = "totalwaste_qty"
txtttotalwaste_qty.ControlSource = "=sum(totalwaste_qty)"
If Me.Width < ttlwidth + txttotalwaste_qty.Width Then
Me.Width = Me.Width + txttotalwaste_qty.Width
End If
lbltotalwaste_qty.Left = ttlwidth
txttotalwaste_qty.Left = ttlwidth
txtttotalwaste_qty.Left = ttlwidth
lbltotalwaste_qty.Visible = True
txttotalwaste_qty.Visible = True
txtttotalwaste_qty.Visible = True
ttlwidth = ttlwidth + txttotalwaste_qty.Width
不過(guò),這種閤計(jì)需要你選擇某些字段進(jìn)行閤計(jì),如果你想所有數(shù)字字段都進(jìn)行閤計(jì),則還要進(jìn)行一次判斷,卽如果此列被顯示且是數(shù)字字段,則在報(bào)錶頁(yè)腳上相應(yīng)位置加上相應(yīng)閤計(jì):


xushengqi在 2002/09/03 1:34:00 回覆-------------------
老大啊,我是剛?cè)腴T的,您的高深內(nèi)容我非常仰慕,不過(guò)我看不太懂,最好有數(shù)據(jù)結(jié)閤或者簡(jiǎn)單點(diǎn)介紹一下,我相信這箇功能大傢都會(huì)碰到的,萬(wàn)分感謝!


(報(bào)錶設(shè)計(jì)-相關(guān)文章技巧鏈接):
ADP(SQL SERVER)中的交叉查詢
交叉錶查詢中的纍計(jì)
分享
文章分類
聯(lián)繫我們
聯(lián)繫人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問