excel - 用于数据库连接的表单上的选项按钮

标签 excel excel-2010 vba

我有 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/

相关文章:

c# - 将类属性映射到 Excel/电子表格列名的问题(使用 LinqToExcel 库时)

Excel VBA 将单元格名称转换为其坐标

excel - Excel 中的用户定义函数和速度问题

excel - 编译错误: Syntax Error caused by code inserting a excel formula

excel - 使一张纸上的所有数据透视表在行扩展和折叠方面相互模仿

vba - 在 Excel 2013 加载项中插入列失败并出现错误 438

excel-formula - 测试单元格是否包含 "#REF!"

VB.NET 和 Excel 表格格式

查询错误中的 VBA 评估 IIF 的错误部分

excel - 有没有办法在打开具有相似文件名的 Excel 文件时自动运行宏?