我有 2 个表格,在第一个表格上,我有一个标签可以打开第二个表格。第二种形式是关于数据库连接选项的。我有 2 个框架控件。第一帧名为 frOpts,有 3 个选项按钮:Prod、Cert 和 Dev。第二个框架是带有 SQL 连接选项的 frType,使用 ad 登录或使用 SQL 登录。选择 SQL 登录时,用户名和密码的 2 个文本框将启用,并从灰色变为白色。我还有一个模块可以完成所有工作。如何将这些参数传递给正在构建 SQL 连接字符串的模块?我是否在模块中使用全局变量?另外,我如何将正确的参数从选项按钮发送到我的主模块?在询问之前,我已经尽可能多地搜索了我认为合适的内容。我在这个表单上使用了一个带有命令按钮的简单测试,代码如下:
Private Sub cmdOK_Click()
Select Case frOpts
Case 1: MsgBox "Prod"
Case 2: MsgBox "Cert"
Case 3: MsgBox "Dev"
End Select
'Me.Hide
End Sub
但这给了我类型不匹配。不知道我做错了什么。所以我的问题是:做我想要实现的目标的最佳方法是什么。
更新
这是我最终得到的结果:
用户窗体1
Private Sub CommandButton1_Click()
UserForm2.Show (False)
End Sub
Private Sub UserForm_Activate()
Me.Show (False)
End Sub
用户窗体2
Public xOpt As Integer
Public xTxt As String
Public xType As Integer
Public xTxt2 As String
Private Sub CommandButton1_Click()
Select Case xOpt
Case 1: xTxt = "Prod"
Case 2: xTxt = "Cert"
Case 3: xTxt = "Dev"
End Select
Select Case xType
Case 1: xTxt2 = "AD login"
Case 2: xTxt2 = "SQLLogin"
End Select
Module1.BuildString xTxt, xTxt2
Unload UserForm2
End Sub
Private Sub OptionButton1_Click()
xOpt = 1
End Sub
Private Sub OptionButton2_Click()
xOpt = 2
End Sub
Private Sub OptionButton3_Click()
xOpt = 3
End Sub
Private Sub OptionButton4_Click()
xType = 1
End Sub
Private Sub OptionButton5_Click()
xType = 2
End Sub
模块1
Public Sub BuildString(sOpts As String, sType As String)
sConn = sOpts & " " & sType
Debug.Print sConn
End Sub
感谢您的帮助贾斯汀。没有你我做不到。
最佳答案
将两种形式设置为 ShowModal = False
第一种形式:
Private Sub CommandButton1_Click()
UserForm2.Show
UserForm2.xOpts = frOpts
End Sub
第二种形式:
Public xOpts As Integer
Private Sub CommandButton1_Click()
MsgBox xOpts
End Sub
根据评论编辑:
在新工作表中尝试将此作为完整模型:
两者都有
ShowModal=False
和 1 个命令按钮。用户窗体1:
Private Sub CommandButton1_Click()
UserForm2.Show (False)
UserForm2.xOpt = "3"
End Sub
用户窗体2:
Public xOpt As Integer
Private Sub CommandButton1_Click()
Debug.Print xOpt
End Sub
关于excel - 用于数据库连接的表单上的选项按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32336073/