Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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中将combobox值传递到SQL查询_Sql_Vba_Ms Access - Fatal编程技术网

在MS Access中将combobox值传递到SQL查询

在MS Access中将combobox值传递到SQL查询,sql,vba,ms-access,Sql,Vba,Ms Access,我在表单中有一个组合框,我希望将组合框的文本传递到查询中 我的问题是: select..from..where something=[Forms]![Enter Data]![comboCup] 表单名为Enter Data,组合框名为comboCup。我应该这样做: [Forms]![Enter Data]![comboCup]![text] 还是这个 [Forms]![Enter Data]![comboCup]![value] 如果要在表单模块中使用它,可以执行如下操作(仅限伪代码)

我在表单中有一个组合框,我希望将组合框的文本传递到查询中

我的问题是:

select..from..where something=[Forms]![Enter Data]![comboCup]
表单名为
Enter Data
,组合框名为
comboCup
。我应该这样做:

[Forms]![Enter Data]![comboCup]![text]
还是这个

[Forms]![Enter Data]![comboCup]![value]

如果要在表单模块中使用它,可以执行如下操作(仅限伪代码):


如果在不同的模块中,则仍使用如上所示的变量;但是,在这种情况下,标识表单中字段的语法需要大量工作。如果到目前为止这一切都有意义的话,我可以告诉你更多

都不是。文本仅在控件具有焦点时可用。comboCup的值是绑定列。确保您的查询正在查找该值,否则您需要引用组合的column属性。

您应该使用[Forms]![输入数据]![组合杯]

正如@Remou所说,访问控件的.Text属性只有在该控件具有焦点时才可用

.Value属性是冗余的,因为它是所有访问控制的默认属性,所以这两个属性是等效的:

  [Forms]![Enter Data]![comboCup]
  [Forms]![Enter Data]![comboCup].Value
(还请注意,.Text和.Value等属性由点运算符分隔,而不是由描述集合的bang分隔)

一个值得关注的问题是,是否要在APPEND查询的SELECT语句中使用组合框的值。在这种情况下,建议您在保存的查询中将组合框声明为参数。如果不这样做,则会导致不插入行,而如果声明参数,则会解析为空值,即引用的组合框中的值

Dim comboBoxText As String 

comboBoxText = Me.YourComboboxName.Column(1)

注意:组合框列是基于1的数组

strSQL接下来会发生什么?这个答案与“将组合框的文本传递到查询”有什么关系?请详细说明组合框的源。是1列还是更多?对不起,您能解释一下追加查询是什么意思吗?插入MyTable(MyField)值([Forms]![Enter Data]![comboCup])。如果您将表单控件定义为一个参数,那么效果会更好。在不知道您要查找的内容的情况下,仅通过Google查找此答案并不容易,搜索当前Access帮助文件是一场噩梦。这个答案现在出现在谷歌搜索的第一页,这证明了它是多么有用。
Dim comboBoxText As String 

comboBoxText = Me.YourComboboxName.Column(1)