Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代码还是控件属性,在MS-ACCESS中哪个更好?_Ms Access_Vba - Fatal编程技术网

代码还是控件属性,在MS-ACCESS中哪个更好?

代码还是控件属性,在MS-ACCESS中哪个更好?,ms-access,vba,Ms Access,Vba,我发现有时候真的很难选择使用哪一种 我想将数据填充到列表框中,您可以通过选择数据并为其构建查询来完成,也可以构建VBA代码并将其置于控制事件下 那么,哪一个更好,或者我们说,如果我们有选择,哪一个是最好的 谢谢我一直在使用查询,几乎没有理由不这么做。除非您想将自定义项(如“空”)添加到列表框中,或者速度是一个问题。毕竟,绝对不需要有一个包含10.000多个项目的列表框。在这种情况下,填充列表框的自定义事件更好。我一直使用查询,几乎没有想到不这样做的理由。除非您想将自定义项(如“空”)添加到列表框

我发现有时候真的很难选择使用哪一种

我想将数据填充到列表框中,您可以通过选择数据并为其构建查询来完成,也可以构建VBA代码并将其置于控制事件下

那么,哪一个更好,或者我们说,如果我们有选择,哪一个是最好的


谢谢

我一直在使用查询,几乎没有理由不这么做。除非您想将自定义项(如“空”)添加到列表框中,或者速度是一个问题。毕竟,绝对不需要有一个包含10.000多个项目的列表框。在这种情况下,填充列表框的自定义事件更好。

我一直使用查询,几乎没有想到不这样做的理由。除非您想将自定义项(如“空”)添加到列表框中,或者速度是一个问题。毕竟,绝对不需要有一个包含10.000多个项目的列表框。在这种情况下,填充列表框的自定义事件更好。

我尽量不让任何代码变得比需要的更复杂。如果我只是将一个表的全部内容从一列绑定到一个列表框,那么我将使用控件属性。如果比这更复杂,查询就可以了


(您还应该记住,编写的代码越多,需要维护的代码就越多,所以越多并不一定越好。)

我尽量不让任何代码变得更复杂。如果我只是将一个表的全部内容从一列绑定到一个列表框,那么我将使用控件属性。如果比这更复杂,查询就可以了


(您还应该记住,编写的代码越多,需要维护的代码就越多,所以越多并不一定越好。)

问题可以这样说:设置列表框的控制源的最佳方法是什么

接下来要问的最好的问题是:我想用静态方法还是动态方法声明控制源

静态将是VBA向导为新列表框生成的内容。静态是简单的,而简单是最好的,除非您的需求另有说明。通常的需求是(正如birger所说)用缓慢加载的表单或复杂的表单自动化来解决问题


如果使用的是动态方法,则使用的是VBA。如果需要解决的是速度问题,则可以在加载表单时设置控件源。如果需要自动化,则可以在加载表单时采取操作,也可以不采取操作,您将使用诸如AfterUpdate或命令按钮选择之类的触发器

问题可以这样说:设置列表框的控制源的最佳方法是什么

接下来要问的最好的问题是:我想用静态方法还是动态方法声明控制源

静态将是VBA向导为新列表框生成的内容。静态是简单的,而简单是最好的,除非您的需求另有说明。通常的需求是(正如birger所说)用缓慢加载的表单或复杂的表单自动化来解决问题


如果使用的是动态方法,则使用的是VBA。如果需要解决的是速度问题,则可以在加载表单时设置控件源。如果需要自动化,则可以在加载表单时采取操作,也可以不采取操作,您将使用诸如AfterUpdate或命令按钮选择之类的触发器

尽可能查询,因为这比使用回调函数的开发时间要短得多。但有时您必须显示驱动器、文件或使用API调用确定的其他数据的列表等。

尽可能查询,因为这比使用回调函数的开发时间要短得多。但有时您必须这样做,例如显示驱动器列表,使用API调用或类似方法确定的文件或其他数据。

我倾向于始终对列表/组合框的行源使用Select查询,即使我想要一个文件名列表,我也会首先将它们填充到临时表中,然后从中进行选择。

我倾向于始终对列表/组合框的行源使用Select查询,即使我想要一个列表对于文件名,我会先将它们填充到临时表中,然后从中进行选择。

将所有SQL代码保存在一个位置,并尽可能“接近”数据。对我来说,这意味着“后端”中的
VIEW
s和
PROCEDURE
s在“前端”中使用数据访问技术。考虑一下,如果你的表中的一个列的名称发生了变化,你必须在每个使用“后端”的前端应用程序的所有窗体上搜索所有控件,然后在每个前端应用程序中的每个对象中的所有VBA代码等等。

< P>将所有SQL代码保持在一个位置,并尽可能靠近数据。对我来说,这意味着“后端”中的
VIEW
s和
PROCEDURE
s在“前端”中使用数据访问技术。考虑一下,如果您的表中的一个列的名称发生更改,您必须在每个使用“后端”的前端应用程序的所有窗体上搜索所有控件,然后在每个前端应用程序中的每个对象中的所有VBA代码等。

是否指传统访问应用程序中的访问窗体?(与Excel Userform前端和Access数据库引擎后端相反)?如果是这样,将控件绑定到表或查询对象就是整个访问点表单,那么为什么要反对它呢?您是指传统Access应用程序中的访问表单吗(与Excel Userform前端和Access数据库引擎后端相反)?如果是这样,将控件绑定到表或查询对象就是整个访问点表单的一部分,那么为什么要反对它呢?即使添加自定义项(如“无”或“全部”),我也使用联合查询。即使添加自定义项(如“无”或“全部”),我也使用联合查询。我始终使用查询,尽管我会经常将查询保留在查询行源中。I,al最经常的是,我想要t