Надеюсь, вы сможете помочь. По какой-то причине я не могу придумать, что я делаю неправильно. Может быть, свежая пара глаз поможет.Имя переменной VBA, которое увеличивается с каждым циклом и может использоваться для заполнения текстового поля
- потянув GL и их значение валюты из запроса.
- Каждый GL должен заполнять текстовые поля в отчете с последовательными именами. Пример: GL1, GL2, GL3 и т. Д.
- Каждое значение GL (валюта) должно заполнять другие текстовые поля с уникальным именем. Пример: GLV1, GLV2, GLV3, GLV4 и т. Д.
Вот мой сценарий - любая помощь будет оценена.
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM qry_GL_totals")
Dim GLField As Variant
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst 'Unnecessary in this case, but still a good habit
RecordCount = 0
Do Until rs.EOF = True
RecordCount = RecordCount + 1
MsgBox (rs!GL & " " & rs!Expr1) 'MsgBox is just for testing
"[" & GLField & "]" =rs!GL
"[" & GLField & "T]" =rs!Expr1
rs.MoveNext
Loop
Else
End If
rs.Close
Set rs = Nothing
GLField = Null
End Sub
Update: Это то, что у меня есть сейчас, и его недостаток до сих пор.
Private Sub Report_Load()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM qry_GL_totals")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
i = 0
Do Until rs.EOF = True
i = i + 1
Me.Controls(GLField) = rs!GL
Me.Controls(GLField & "T") = rs!Expr1
rs.MoveNext
Loop
Else
End If
rs.Close
Set rs = Nothing
End Sub
Ошибка времени выполнения "438" Объект не поддерживает это свойство или способ.
Спасибо Тиму, но, к несчастью, это ошибся. Me.Controls (RecordCount) = RS! Expr1 Me.Controls (RecordCount и "L") = RS! GL Ошибка выполнения "438" Объект не поддерживает это свойство или метод. –
Это было не то, что я написал. Эта переменная должна содержать * имя * вашего элемента управления (по крайней мере, это то, что я предполагал, что вы пытались сделать). См. Http://stackoverflow.com/questions/8267453/can-i-use-a-variable-as -the-name-of-a-control-in-microsoft-access-vba –
Это то, что у меня есть сейчас и его неудача. –