访问组合框值

时间:2011-04-08 09:52:29

标签: ms-access vba

我有一个组合框和一个按钮,它使用从组合框获得的值运行查询,但它似乎没有得到正确的值。 enter image description here

我尝试使用

[Forms]![Kooli otsing]![Combobox] 

[Forms]![Kooli otsing]![Combobox].[Text]

查询不起作用,好像它没有从组合框中获取值。因为它适用于普通的TextBox。

我添加了解释图片!!!!! enter image description here

增加了VBA编辑的图片 enter image description here

添加错误图片并且没有评论自动复制 enter image description here enter image description here

4 个答案:

答案 0 :(得分:4)

根据您在问题上发布的最新评论,您希望使用:

[Forms]![Kooli otsing]![Combo19].Column(1)

这就是原因。你说你的组合框有以下设置:

  • 列数:2
  • 绑定列:1
  • 行源类型:表/查询
  • 行来源:SELECT [Haridusasutused].[ID], [Haridusasutused].[Nimetus] FROM Haridusasutused;

列数为2表示Access使用rowsource中的前两列(在本例中仅为两列)。绑定列告诉访问组合框的默认值应该是行源的第一列。在这种情况下,那将是[Haridusasutused].[ID]。 ID列通常是自动编号字段。

您遇到问题的原因是[Forms]![Kooli otsing]![Combo19]从ID列(很可能是数字)返回的数据不是“ElvaGümnaasium”。通过添加.Column(1),您告诉Access选择rowsource的第二列(.Column是一个从零开始的数组)中的数据,即“ElvaGümnaasium”。

编辑:或者,您可以将绑定列从1更改为,其余部分保持不变(即,您不需要.Column(1)完全没有。)

答案 1 :(得分:0)

这适用于我的应用程序:

[Forms]![Hour-registration]![mwkselect]

         ^form               ^combobox

也许试试这个刷新:

Me.Requery
Me.Refresh

答案 2 :(得分:0)

您是否尝试逐步调试并通过观察窗口搜索值?例如,在按钮单击事件中放置一个断点,然后将[Forms]添加到监视窗口并查看它。

答案 3 :(得分:0)

您可以使用:

[Forms]![Form1]![Combo1].[Text]