注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

t小寶的個(gè)人空間 http://m.mzhfr.cn/?71896 [收藏] [復(fù)制] [分享] [RSS]

日志

能辨別ACCESS版本的神奇窗體 - 之解釋

已有 2982 次閱讀2013-6-1 12:12 |個(gè)人分類(lèi):Access| 窗體, 圖片, 2007, 圖片屬性存儲(chǔ)格式

之前發(fā)過(guò)一個(gè)帖子:能辨別ACCESS版本的神奇窗體 [http://www.office-cn.com/thread-116936-1-1.html]。
其實(shí)一個(gè)沒(méi)有任何代碼和控件的窗體是不能辨別ACCESS版本的,該窗體只是在Access2003和Access2007中顯示了不同的圖片。
通過(guò)以下步驟可以實(shí)現(xiàn)這個(gè)效果:
1、用Access2003新建一個(gè)mdb文件。
2、用Access2007或2010打開(kāi)mdb文件,設(shè)置 Access選項(xiàng) - 當(dāng)前數(shù)據(jù)庫(kù) - 圖片屬性存儲(chǔ)格式:保留源圖像格式。
   創(chuàng)建一個(gè)窗體,在設(shè)計(jì)視圖中為窗體添加一幅圖片,保存后關(guān)閉數(shù)據(jù)庫(kù)。
3、用Access2003打開(kāi),以設(shè)計(jì)視圖打開(kāi)該窗體,可能有一個(gè)彈出框提示不能顯示圖片,點(diǎn)確定,然后為窗體插入另一幅圖片,保存并關(guān)閉。

這樣在Access2003和Access2007分別打開(kāi)該窗體就會(huì)顯示不同的圖片。

至于為什么會(huì)這樣?可能細(xì)心的人已經(jīng)從上面的步驟中看出了奧妙,原因如下:
1、Access2003窗體中插入的圖片是轉(zhuǎn)換為位圖格式的。
2、Access2007增加了一種圖片存儲(chǔ)格式:保留源圖像格式,也就是jpg、gif、png等各種圖片會(huì)保留原來(lái)的格式,這樣體積就比較小。
3、Access2003只能識(shí)別位圖格式,不能識(shí)別保留源圖像這種格式。
所以,在Access2007中以保留源圖像格式向窗體插入的圖片,在Access2003中不顯示,這時(shí)在Access2003中向窗體再插入一個(gè)圖片,這個(gè)圖片在Access2003中自然是可以顯示的,因?yàn)樗D(zhuǎn)換為位圖,而在Access2007中因?yàn)樵O(shè)置了默認(rèn)圖片存儲(chǔ)格式為保留源圖像格式的原因,顯示的是以保留源圖像格式插入的那個(gè)圖片。

大家應(yīng)該發(fā)現(xiàn)有一個(gè)關(guān)鍵的地方:一個(gè)窗體先在Access2007中插入了一個(gè)圖片,后在Access2003中插入了另一個(gè)圖片。為什么一個(gè)窗體可以插入兩幅圖片?為什么在Access2003中插入的圖片不覆蓋掉在Access2007中插入的圖片?
通過(guò)用SaveAsText這個(gè)Access提供的隱藏的方法研究發(fā)現(xiàn),在Access2007中以保留源圖像格式向窗體插入的圖片,并不保存在窗體上面,似乎是保存在某個(gè)系統(tǒng)表里面,而在Access2003中插入的圖片是保存在窗體中的。這就是一個(gè)窗體能插入兩個(gè)圖片的根本原因,因?yàn)樗鼈兊谋4嫖恢貌煌?/font>

至此,這個(gè)神奇窗體的秘密是徹底解開(kāi)了,我們也發(fā)現(xiàn)了Access2007中圖片獨(dú)特的存儲(chǔ)方式。
在Access2007中同樣是二進(jìn)制類(lèi)型的附件字段也有類(lèi)似的秘密,有空會(huì)另寫(xiě)一篇來(lái)探討它。

評(píng)論 (0 個(gè)評(píng)論)

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 05:26 , Processed in 0.062405 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部