【发布时间】:2015-01-09 21:46:35
【问题描述】:
希望您能提供帮助。出于某种原因,我想不出我做错了什么。也许一双新鲜的眼睛会有所帮助。
- 从查询中提取总帐及其货币价值。
- 每个 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
更新:这就是我现在所拥有的,但仍然失败。
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”对象不支持此属性或方法。
【问题讨论】:
标签: vba loops variables report sequential