【发布时间】:2011-01-31 23:25:11
【问题描述】:
我在表单上有一个选项卡控件,几个不同的选项卡上有保存按钮。用户保存数据后(通过 VBA 中的 SQL 语句),我设置 .enabled = false 以便他们无法再次使用此按钮,直到移动到全新的记录(这是整个表单上的按钮单击)。
所以当我的表单打开时,我将引用一个启用所有这些保存按钮的子,因为打开事件意味着新记录。虽然我收到一个错误,说它要么不存在,要么已关闭。
有什么想法吗?
谢谢
编辑:
Sub Example()
error handling
Dim db as dao.database
dim rs as dao.recordset
dim sql as string
SQL = "INSERT INTO tblMain (Name, Address, CITY) VALUES ("
if not isnull (me.name) then
sql = sql & """" & me.name & ""","
else
sql = sql & " NULL,"
end if
if not insull(me.adress) then
sql = sql & " """ & me.address & ""","
else
sql = sql & " NULL,"
end if
if not isnull(me.city) then
sql = sql & " """ & me.city & ""","
else
sql = sql & " NULL,"
end if
'debug.print(sql)
set db = currentdb
db.execute (sql)
MsgBox "Changes were successfully saved"
me.MyTabCtl.Pages.Item("SecondPage").setfocus
me.cmdSaveInfo.enabled = false
然后 cmdSave 需要在新记录上重新启用(顺便说一下,此表单未绑定),因此这一切都在重新打开表单时发生。我试过这个:
Sub Form_Open()
me.cmdSaveInfo.enabled = true
End Sub
这就是我得到上述错误的地方。因此,这也不是表单打开时具有焦点的选项卡。这就是我收到此错误的原因吗? I cannot enable or disable a control when the tab is not showing?
【问题讨论】:
-
你可以在这里添加子吗?您可能无法在 Form.Open 事件中访问非活动选项卡的属性...
-
你为什么要编写 Access 默认提供的功能,而无需编程?
标签: forms ms-access controls vba