【问题标题】:MSAccess - populate text box with value from queryMS Access - 使用来自查询的值填充文本框
【发布时间】:2011-04-16 18:21:12
【问题描述】:

我在一个表单上有一个组合框和几个文本框。当我从组合框中选择一个值时,我希望它基于该值运行查询并使用查询返回的数据填充文本框。查询应该只返回一条记录,并且文本框对应于该记录中的不同列。

我有这个代码:

Private Sub cbo_equip_loc_Change()
Dim location As String
Me.cbo_equip_loc.SetFocus
location = DLookup("NAME", "Query1", "position = '" & Me.cbo_equip_loc.SelText & "'")
Me.Text51.SetFocus
Me.Text51.Text = location

End Sub

但我收到此错误:“此属性是只读的,无法设置”

有什么想法吗?

已解决:我是个白痴。

从我之前尝试做的事情中,我在控制源中获得了一些价值。删除它,它的工作原理!

【问题讨论】:

    标签: ms-access combobox textbox vba


    【解决方案1】:

    没有必要这样做:

    Me.Text51.SetFocus
    Me.Text51.Text = location
    

    确实 text 属性仅在控件具有焦点时可用,但 value 属性在没有任何焦点的情况下可用,或者 Access VBA 对控件的名称非常满意:

    Me.Text51.Value = location
    

    或者

    Me.Text51 = location
    

    【讨论】:

    • 我做了 Me.Text51.Value = location 它给了我一个错误,说我无法设置 value 属性。尽管这可能是在我从“控制源”字段中删除之前。
    • @kralco626 我想你会发现它是在你做出改变之前。
    【解决方案2】:

    文本框Text51被锁定,设置属性Locked为False。

    【讨论】:

    • 实际上,该属性设置为 Locked = No。但是,我是个白痴,我之前尝试做的事情在控制源中有一些价值。删除它,它的工作原理!
    猜你喜欢
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多