程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> Access數據庫入門 >> 教程:修改(破解)MDE(ADE)報表和窗體

教程:修改(破解)MDE(ADE)報表和窗體

編輯:Access數據庫入門

  現將方法及步驟整理出來與大家分享。

  將 Access 數據庫保存為 MDE 將禁止用戶在“設計”視圖中查看、修改窗體、報表,不過,如果程序員未將窗體的“允許設計更改”屬性設置為“僅設計視圖”,則可以在窗體上右鍵單擊,選擇“屬性”,就可查看窗體及控件上的屬性值。不過,這些屬性卻是無法修改。而對於報表,則甚至連“允許設計更改”這個屬性都沒有,那到底有沒有辦法來修改MDE中窗體和報表的屬性呢?

  假設你生成的MDE文件中有frmTest窗體和rptTest報表。

  按住Shift鍵打開MDE文件,顯示數據庫窗口,選擇frmTest窗體後,可發現“設計”按鈕變為灰色,不可使用。但使用下面步驟,你會發現另有洞天:

  (1) 打開窗體frmTest 。

  (2) 使用【Alt F11】組合鍵進入VBA代碼編輯器。

  (3) 按下設計模式 鍵

  (4) 窗體會進入設計視圖

  (5) 在窗體上修改“移動電話”標簽及文本框的屬性,將標簽標題改為“傳真”,將文本框的“控件來源”屬性改為“傳真”,再將窗體的標題改為“員工資料”。幾乎任何屬性和格式均可修可,可改變控件位置,可改變綁定的數據庫。。。。除了代碼,幾乎所有事情均可實現。

  (6) 然後點擊保存按鈕,關閉窗體,再重新打開窗體,可發現所有改動已經保存。

  這似乎不太可能,但的確可以保存。

  使用同樣的方法,修改報表的“移動電話”文本框綁定到“傳真”字段,重新調整每個控件的位置等等。

  注意事項:

  上述方法不受窗體的“允許設計更改”屬性設置的影響,也就是說,即使將窗體的“允許設計更改”屬性設置為“僅設計視圖”,上停方法仍然適用。還需注意的是,在修改窗體、報表或控件的屬性之後,必須單擊保存按鈕顯式保存,修改內容才能真正保存在MDE中,否則將會丟失所有的修改內容。因為在關閉窗體或報表時,即使對窗體或報表修改了內容,系統也不會提示是否保存。

  一直以來未搞清楚 “設計模式”按鈕的作用。原來可作如是用途,感謝客戶的這個報表和歪打正著:)

  可打開另一個新的MDB,可將此MDE中窗體或報表的所有控件全部完完整整復制過去,與原窗體和報表一般無二,是原來窗體和報表的COPY。變相地破解了MDE的窗體和報表,當然,不包括VBA代碼。

    如果能夠再寫段程序,將報表打開到設計狀態(譬如說zhuyiwen做的在子窗體裡打開報表),將報表在子窗體裡打開為設計狀態,屏蔽一些不必要 的菜單和工具欄,再做一些布局排版和移位的功能以及拖拉字段到報表的功能,就可實現讓用戶完全自定義報表。

  居然還可以插入新的控件、圖表和ActiveX控件,還可增刪窗體頁眉、頁腳。不過,如果刪除了代碼會引用到的控件,則會導致代碼出錯。

  還可以使用“表達式生成器”,“宏生成器”,不過“代碼生成器”無法使用。

  還可以改變報表的“頁面設置”等及改變橫打堅打等等

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved