【发布时间】:2018-06-28 18:28:45
【问题描述】:
我有一个名为 frmPUCFinalize 的表单,其中包含四个名为 btn1、btn1、btn2、btn4 的按钮,还有一个表 (tblStatus),其中 4 个标题名称存储在名为“Button”的单个字段中。
我想使用循环或其他方法将 frmPUCFinalize 的所有 4 个按钮标题替换为表字段(字段名称:按钮)中的每个记录集。
我尝试了以下代码,但没有成功。
Private Sub Form_Load()
Dim rst As Recordset
Dim mSQL As String
mSQL = "SELECT tblStatus.Button FROM tblStatus WHERE (((tblStatus.RoleID)=4) AND ((tblStatus.Form)='frmPUCFinalize')) ORDER BY tblStatus.Button;"
Set rst = CurrentDb.OpenRecordset(mSQL)
x = 1
Y = 4 'maximun 4 buttons
rst.MoveFirst
Do While (rst.BOF = False And rst.EOF = False) And x < Y + 1
Me("btn" & x).Caption = rst!Button
x = x + 1
rst.MoveNext
Loop
rst.Close
End Sub
【问题讨论】:
-
couldn't succeed是什么意思?乍一看还不错。 -
我刚刚创建了一个表格
tblStatus,其字段与您查询中的相同,输入了 4 个按钮文本,创建了一个带有四个按钮的表单frmPUCFinalize,名为btn1、btn2... ,将您的代码粘贴到Form_Load()事件中 - 它运行良好。您的表中是否包含正确的数据?请提供更多信息。无法重现任何错误。 -
感谢 LocEngineer...我解决了这个问题...刚刚从 mSQL 语句中删除了 Order BY 语句,它对我来说非常有效..