修改(破解)MDE(ADE)窗体和报表.docVIP

  • 7
  • 0
  • 约1.72千字
  • 约 4页
  • 2017-06-10 发布于北京
  • 举报
修改(破解)MDE(ADE)窗体和报表 今天无意中发现MDE文件居然还可以修改窗体和报表的格式,以及属性;而且是可以真正保存起来; 现将方法及步骤整理出来与大家分享: 将 Access 数据库保存为 MDE文件格式,是为了禁止用户在“设计”视图中查看、修改窗体、报表;不过,如果程序员未将窗体的“允许设计更改”属性设置为“仅设计视图”,则可以在窗体上右键单击,选择“属性”,就可查看窗体及控件上的属性值;只不过,这些属性却是无法修改;而对于报表,则甚至连“允许设计更改”这个属性都没有,那到底有没有办法来修改MDE中窗体和报表的属性呢? 假设你生成的MDE文件中有frmTest窗体和rptTest报表。 一、按住Shift键打开MDE文件,显示数据库窗口,选择frmTest窗体后,可发现“设计”按钮变为灰色,不可使用。但使用下面步骤,你会发现另有洞天: (1) 打开窗体frmTest 。 (2) 使用【Alt+F11】组合键进入VBA代码编辑器。 (3) 按下“设计模式“键。 (4) 窗体会进入设计视图。 (5) 在窗体上修改“移动电话”标签及文本框的属性,将标签标题改为“传真”,将文本框的“控件来源”属性改为“传真”,再将窗体的标题改为“员工资料”。几乎任何属性和格式均可修可,可改变控件位置,可改变绑定的数据库…除了代码,几乎所有事情均可实现。(不过前提是,要修改的对象要打得开,只要能打开,就能实现…) (6) 然后点击保存按钮,关闭窗体,再重新打开窗体,可发现所有改动已经保存。 这似乎不太可能,但的确可以保存。 使用同样的方法,修改报表的“移动电话”文本框绑定到“传真”字段,重新调整每个控件的位置等等。 注意事项: (1)不能在Access 97中使用,因为Access 97根本没有“设计模式”按钮。 (2)除了使用【Alt+F11】快捷键进入之外,还可使用【Ctr+G】快捷键进入调试窗口从而间接进入VBA代码编辑器。 (3)虽然可以禁止系统的一些特殊键来避免用户进入VBA代码编辑器,但即使是编译成MDE,启动里的特殊键的设置也可通过程序代码来解除。即通过代码打开MDE文件,然后修改启动里的属性,设置允许使用特殊键,然后通过特殊键来进入数据库窗口和VBA编辑器。 (4)如果MDB无法使用【Alt+F11】和【Ctr+G】两个快捷键进入,则可先选择“模块”对象中的空白处,单击鼠标右键,在弹出的快键菜单中选择“Visual Basic 编辑器”命令,不要关闭它,切换到窗体对象,打开需要修改的窗体,再切换到VBA编辑器,单击“调试模式”就可以了。 (5)如果程序限制了特殊键,还可在窗体任何位置单击鼠标右键,在快捷菜单中选择“属性”命令,再选择任何事件属件,双击打开事件生成器,再进入VBA编辑器,虽然也会提示“工程不可查看”,但的确已经进入VBA编辑器的状态。 (6)上述方法不受窗体的“允许设计更改”属性设置的影响,也就是说,即使将窗体的“允许设计更改”属性设置为“仅设计视图”,上停方法仍然适用。还需注意的是,在修改窗体、报表或控件的属性之后,必须单击保存按钮显式保存,修改内容才能真正保存在MDE中,否则将会丢失所有的修改内容。因为在关闭窗体或报表时,即使对窗体或报表修改了内容,系统也不会提示是否保存。 二、你可打开另一个新的MDB,将此MDE中窗体或报表的所有控件全部完完整整复制过去,与原窗体和报表一般无二,是原来窗体和报表的COPY;可谓变相地破解了MDE的窗体和报表,当然,不包括VBA代码。 如果能够再写段程序,将报表打开到设计状态(譬如说zhuyiwen做的在子窗体里打开报表),将报表在子窗体里打开为设计状态,屏蔽一些不必要的菜单和工具栏,再做一些布局排版和移位的功能以及拖拉字段到报表的功能,就可实现让用户完全自定义报表。 居然还可以插入新的控件、图表和ActiveX控件,还可增删窗体页眉、页脚。不过,如果删除了代码会引用到的控件,则会导致代码出错。 还可以使用“表达式生成器”,“宏生成器”,不过“代码生成器”无法使用。 还可以改变报表的“页面设置”等及改变横打竖打等等。

文档评论(0)

1亿VIP精品文档

相关文档