Ms access Dlookup取决于标签/文本框

Ms access Dlookup取决于标签/文本框,ms-access,Ms Access,我试图弄清楚如何使我的Dlookup函数看起来像它的相关标签和标签的值 我的例子是: =DLookup("[OfficeOf]","tblLocationMSTR","[LocationCode]=LABEL CONTENT HERE") 除此之外,我还需要添加一个Mid()命令,用于以下内容: =DLookup("[OfficeOf]","tblLocationMSTR","[LocationCode]=Mid("LABEL CONTENT HERE")") 如果标签已粘贴,则文本框将具有

我试图弄清楚如何使我的Dlookup函数看起来像它的相关标签和标签的值

我的例子是:

=DLookup("[OfficeOf]","tblLocationMSTR","[LocationCode]=LABEL CONTENT HERE")
除此之外,我还需要添加一个Mid()命令,用于以下内容:

=DLookup("[OfficeOf]","tblLocationMSTR","[LocationCode]=Mid("LABEL CONTENT HERE")")

如果标签已粘贴,则文本框将具有一组控件

=DLookup("[OfficeOf]","tblLocationMSTR","[LocationCode]='" & Me.TextBox1.Controls(0).Caption & "'")

您必须确定表单上文本框的名称。我使用了TextBox1作为示例。

将表单的OnLoad属性设置为
[事件过程]
,然后在表单后面添加以下代码:

Private Sub Form_Load()
Dim Ctl As Control

    For Each Ctl In Me.Controls
        If Ctl.Tag = "some_text_used_as_a_flag" Then
            Ctl.ControlSource = "=DLookup(""[OfficeOf]"",""tblLocationMSTR"",""[LocationCode]=""" & Ctl.Controls(0).Caption & """)"
        End If
    Next Ctl
End Sub

我假设您需要一种方法来指定应该动态更新哪些标签/文本框组合。您可以通过将每个文本框的Tag属性设置为某些特定文本来完成此操作,您可以在控件中循环时检查这些文本。

您在这里到底想做什么?如果你告诉我们你的意图,我们可能会以另一种方式让你到达那里。我正在创建一个包含多个房间的地图,我希望文本框字段查看标签的标题信息,以推断放入框中的文本。例如:Label1的标题为“RM 01-01-01”。所以在文本框里写着“乔治”。我想复制粘贴文本框/标签,并将标签更改为“RM 01-01-02”,文本框应该是Jenny。这是一个非常有创意的解决方案。我认为,您试图完成的“映射”方面将阻止您使用“标准”方法。不过,也许其他人会有不同的想法。不是每个控件的标签都是控件集合中的第一项,所以应该是我!MyControl.Controls(0)?我猜在选项组中,如果删除原始标签,它可能不会成为集合中的第一项,但我始终使用控件(0)获取标签。我在代码中使用
控件(0)
。你说的是我代码的哪一部分?我误解了代码。我以为你在浏览控件集合以找出哪个是标签。考虑了几天之后,我不完全确定我是否愿意将标签作为收藏中的第一项(尽管我有大量的代码可以准确地做出这样的假设)。不过,除了一个选项组之外,我想不出其他控件对它有什么影响。