如何使用循环在表单上自动填充文本框?

时间:2019-02-02 23:10:04

标签: ms-access access-vba

因此,我有一个表,其中包含试图在表单上显示的总计列表,我需要从总计表中获取10个总计,并在表单上的10个文本框中显示。

这10个文本框是"A1, A2, A3...",其使用DLookup查找ID字段号。

Me.TEXTX & X1.Value似乎是语法问题,尽管我不确定该如何输入。

希望这是有道理的。谢谢!

Private Sub UPDATETOTALS()
    Dim FORMX As String
    FORMX = "GRID"

    Dim TEXTX As String
    TEXTX = "A"

    Dim TABLENAMEx As String, FINDFIELDx As String, GETFIELDx As String
    TABLENAMEx = "GRID_TOTALS"
    FINDFIELDx = "[ID]="
    GETFIELDx = "TODAY"

    Dim X1 As Integer
    For X1 = 1 To 10
        Me.TEXTX & X1.Value = DLookup(GETFIELDx, TABLENAMEx, FINDFIELDx & X1)
    Next X1
End Sub

1 个答案:

答案 0 :(得分:0)

您不能使用串联字符串直接访问对象引用,因为此类引用不是字符串数据类型。

相反,您需要通过向Controls方法提供对象名称(作为字符串)来访问相关集合(在本例中为Item集合)中的对象该集合中的一个。

由于Item方法是集合的默认方法,因此项目名称可以紧随集合之后作为参数。

例如:

For X1 = 1 To 10
    Me.Controls(TEXTX & X1).Value = DLookup(GETFIELDx, TABLENAMEx, FINDFIELDx & X1)
Next X1