Ms access 如何在私有模块中创建公共变量
基本上,它是一个登录表单,我试图保存ID,即Me.CBOUsername.Column(0),但当我尝试在另一个表单中调用它时,我遇到了一个错误Ms access 如何在私有模块中创建公共变量,ms-access,vba,Ms Access,Vba,基本上,它是一个登录表单,我试图保存ID,即Me.CBOUsername.Column(0),但当我尝试在另一个表单中调用它时,我遇到了一个错误 Option Compare Database Option Explicit Public ID_ As String Private Sub Command4_Click() Dim strCBOPass As String Dim strPassword As String strCBOPass = Me.CBOUser
Option Compare Database
Option Explicit
Public ID_ As String
Private Sub Command4_Click()
Dim strCBOPass As String
Dim strPassword As String
strCBOPass = Me.CBOUsername.Column(1)
strPassword = Me.txtpassword
If strCBOPass = strPassword Then
MsgBox "Login Successful!"
DoCmd.OpenForm "Form1"
DoCmd.Close acForm, Me.Name
ID_ = Me.CBOUsername.Column(0)
Else
MsgBox "login Unsuccessful!"
End If
End Sub
用这种方式解释可能更容易一些 作为全局变量的示例:
Public Global_Variable1 as String
Public Sub Procedure1()
Global_Variable1 = "Test"
End Sub
Public Sub Procedure2()
Call Procedure1
MsgBox (Global_Variable1) 'return Test
End Sub
通过右键单击并使用Insert>module将公共模块添加到项目中并在其中声明变量来添加模块。可以通过声明变量的方式访问变量,但除非您有非常具体的原因需要在表单模块中声明变量,你不应该这样做。基本上,当用户登录时,单击“登录”,如果登录成功,它会使用用户ID,这是我在下一个表单中需要的东西,但我不能调用它。如果你在公共模块中声明变量,你可以在任何地方设置/调用它。在私有子模块之外调用它?是的。如果将行
Public ID\uuuu作为字符串
放在未附加到表单/报表的任何模块上,则可以在任何位置使用ID\uuuuu
。很抱歉,屏幕标题中的项目是VBA编辑器的一部分。(你也可以使用VBA编辑器上的菜单,从插入>模块)我发现没问题,那么我应该把整个登录代码放在那里,然后在私有子里面调用它吗?@Billy-G会让你进入VB编辑器,那么我应该在模块中定义ID,然后以实际形式运行它?我需要在每种形式中调用公共变量吗?我如何以另一种形式调用它一旦您在模块中将变量定义为Public,然后将其用作普通变量。你不需要做任何特殊的事情来使用它。只有像ID\ume.CBOUsername.Column(0)
这样的行在任何部分都有效