我在表格上有一个组合框
我希望将组合框的文本传递给查询。
我的查询是:
select..from..where something=[Forms]![Enter Data]![comboCup]
表单名称是输入数据,组合框名称是combocup。我应该这样做:
[Forms]![Enter Data]![comboCup]![text]
或
[Forms]![Enter Data]![comboCup]![value]
...
答案 0 :(得分:6)
你应该使用[Forms]![输入数据]![comboCup]。
正如@Remou所说,只有当控件具有焦点时,Access控件的.Text属性才可用。
.Value属性是多余的,因为它是所有Access控件的默认属性,因此这两个是等效的:
[Forms]![Enter Data]![comboCup]
[Forms]![Enter Data]![comboCup].Value
(另请注意,.Text和.Value等属性由点运算符分隔,而不是用于描述集合的bang)
一个值得关注的问题是,如果要在APPEND查询的SELECT语句中使用组合框的值。在这种情况下,建议您将组合框声明为已保存查询中的参数。如果不这样做,可能导致不插入行,而如果声明参数,它将解析为Null,即引用的组合框中的值。
答案 1 :(得分:2)
都不是。仅当控件具有焦点时,文本才可用。 comboCup的值是绑定列。确保您的查询正在查找该值,否则您将需要引用组合的列属性。
答案 2 :(得分:1)
Dim comboBoxText As String
comboBoxText = Me.YourComboboxName.Column(1)
注意:Combobox列是基于1的数组
答案 3 :(得分:0)
如果您将在Form模块中使用它,您可以执行以下操作(仅限伪代码):
Event comboCup_afterUpdate()
strCup = Me!comboCup
strSQL = "SELECT ... etc ... ='" & strCup & "'"
End Sub
如果在不同的模块中,那么仍然使用如上所示的变量;但是,在这种情况下,您在表单中标识字段的语法需要大量工作。如果到目前为止这一切都有意义,我可以告诉你更多。