在两个用户窗体之间传递数据不起作用

时间:2019-06-02 20:39:48

标签: excel vba userform

我正在处理一个将数据插入数据库的用户窗体。有一个修改按钮,可以更新数据,但是我想允许使用密码确认更新。因此,在“修改”按钮的代码中,我正在调用另一个提示用户输入密码的用户窗体。我遇到的问题是,我创建了一个布尔变量,该布尔变量在密码正确时设置为True,并设置为其他False。密码正确后,修改按钮的代码会继续,但是True信息不会传输到第一个用户表单

我在这里看到了很多类似的问题,但是我所看到的答案都没有帮助我解决问题。我在两个代码中都创建了一些公共变量,但仍然无法正常工作

这是“修改”按钮的代码(第一个用户表单)

Private Sub modify_Click()
On Error GoTo handler
Dim connec As Object
Dim rst As Object
Dim stringconn As String
Dim sqlupdt As String
Dim modifmat As String
Dim msg

--Some code here

if [condition] then
goto 1
end if

1 password.show

if pwcorr= True then 
goto 2
else
msgbox "Incorrect password"
exit sub
end if

3 --Some code here
end sub

这是密码用户表单(第二个用户表单)的代码

Public pwcorr
public sub OkBtn_Click()
Dim pw As String
Dim pwin As String
Dim pwcorr As Boolean

pw= "abcde"
pwin = Me.pwin.Text

If pwin = vbNullString Then
MsgBox "No password was entered", vbCritical
ElseIf pwin = pw Then
Me.pwcorr = True
Unload Me
Else
MsgBox "Password incorrect", vbCritical
End If
End Sub

每当我到达第一个代码中的If pwcorr = True时,pwcorr始终为空。不知道为什么

0 个答案:

没有答案