为什么不工作

我的VBA代码,我得到了与它的数字和一个按钮列表框,我想在列表框中显示的数量,你以另一种形式选择为什么不工作

例如我想从1买了数字键的10,如果我选择3,我想接下来的形式展现你买了3个按键

Private Sub List28_Click() 

If Not IsNull([num of keys]) Then

Forms! [navigation forms].Form.[navigationsubform].Form.User =

Me.Num_of_keys_Label

Forms! [navigation forms].Form.[navigationsubform].Form.User = Me.List28

End If

DoCmd.Close

EndSub

展示如果购买

我得到一个编译错误结果:无效的财产使用

回答:

这不是VBS(Microsoft Visual Basic Sc​​ripting Edition)。它是VBA(Visual Basic for Applications)。 VBA是面向行的。如果要分割一长条线,则必须在该行的末尾使用一个以空格(_)为前缀的换行符。

Forms! [navigation forms].Form.[navigationsubform].Form.User = _ 

Me.Num_of_keys_Label

应该有EndSub

End Sub 

另外一个空间,缩进代码使得它更具可读性

Private Sub List28_Click() 

If Not IsNull([num of keys]) Then

Forms![navigation forms].Form.[navigationsubform].Form.User = _

Me.Num_of_keys_Label

Forms![navigation forms].Form.[navigationsubform].Form.User = Me.List28

End If

DoCmd.Close

End Sub

您应该使用AfterUpdate事件。不是Click事件。在选择新项目后出现AfterUpdate

什么是[num of keys]?列表框的名称似乎是List28

List28是一个坏名字。在创建事件方法之前重命名您的控件。这使得代码更具可读性。例如。如果您将列表框重命名为lstNumbers,那么您将获得像lstNumbers_AfterUpdate这样的事件方法的演讲名称。像btnCancel_Click这样的名字比Button17_Click更容易理解。

我不明白代码的逻辑。您将其他表单的User控件(标签或文本框?)设置为Me.Num_of_keys_Label而不是[num of keys],您将其测试为非空。紧接着,您将此值替换为Me.List28,也就是根据您的评论(“点击按钮”),按钮。这一切都没有意义。

以控件和表单的名称为前缀开始。例如。

txt for TextBoxes,例如,txtUser
btn对于按钮,E,G,btnBuy
lst为列表框,E,G,lstNumOfKeys
lbl对于标签,E,G,lblResult
cbo为组合框,E,G,cboCountry
frm为形式,E,G,frmNavigation
fsub对于窗体控制,E,G,fsubNavigation

以上是 为什么不工作 的全部内容, 来源链接: utcz.com/qa/257582.html

回到顶部