上面说得很对,基本思路就是这样。不过,仅仅如此便不能最大限度地利用ACCESS的快速设计功能。更好的办法是这样的:设计时利用绑定的数据源,过后也不需要删除,然后再在窗体的load,open或current事件中将窗体的数据源改成T-SQL语句。有时候,即便这样做了,速度提高的程度还是不够要求,这时,应该修改窗体数据源的T-SQL语句,使之在加载或打开的时候只从相关表中取一条记录,而子窗体甚至可以取一个空记录(为什么可以这样?因为,一般工作流程是打开窗体,定位需要的记录,然后再处理,所以,一开始窗体并不需要一个具体的记录,或者说,一开始显示的记录,基本上不会是你立即需要的记录-除非该窗体是一个查询结果显示。这类往返除了浪费带宽和服务器资源,没有值得一提的好处),这样就能使任何复杂的窗体都能飞快地打开。下次如时间允许做例子给大家交流。最后补充一点,下拉列表等如果有大量记录,也需要充分考虑,有时候甚至要修改整个设计思路,或者令ADP前端每次只取少量数据,不过这也许不是最佳解决方法。按我的看法,在一个庞大的下拉列表中选择不会是一个令人愉快的设计。先举个最简单的例子,一个表,例如mytbl,主键是id,自动从整数1开始以1为步长增加,原先窗体的数据源绑定是这样的dbo.mytbl或者SELECT * FROM mytbl,现在,你要这么写绑定的数据源:SELECT * FROM mytbl WHERE id=1,或者甚至SELECT * FROM mytbl WHERE id=0都可以。也许有人会问,然后怎么办?我希望各位看官能够明白,用记录浏览器在成千上万个记录中逐个浏览也不是什么良好的设计,例如一个订单数据库,我更喜欢的办法是让订单窗体在打开时默认显示一段时期(例如最近一年)的订单号码,放到一个listbox中,然后在listbox中选择订单号码,随后listbox_afterupdate中令窗体recordSource="SELECT * FROM tbl_Orders WHERE orderID=" & listbox.value等....希望能有所启发。