|
本帖最后由 smilingkiss 于 2013-11-19 20:41 编辑
各位大哥,使用弹出窗体传递参数,我现在已经有了一些头绪(见附件)但我希望能够让这个弹出窗口(附件实例中是窗体“2”)通用化,意思就是可以让不同的程序调用这个弹出窗体,都可以根据实际情况设置弹出窗体的名称和里面按钮的名称,请问该如何做呢?
以下是弹出窗体的代码:
Private Sub Command4_Click() '这是弹出窗体的第一个按钮
If Me.OpenArgs = "text48" Then '如果是通过"text48"传递,则按下第一个按钮,赋值给窗体"1"的[Text48]为"1"
Forms("1")![Text48] = 1
End If
If Me.OpenArgs = "strtest" Then '如果是通过"strtest"传递,则按下第一个按钮,赋值给全局变量strtest]为"1"
strtest = "1"
End If
DoCmd.Close
End Sub
Private Sub Command5_Click() '这是弹出窗体的第二个按钮
If Me.OpenArgs = "text48" Then '如果是通过"text48"传递,则按下第二个按钮,赋值给窗体"1"的[Text48]为"2"
Forms("1")![Text48] = 2
End If
If Me.OpenArgs = "strtest" Then '如果是通过"strtest"传递,则按下第二个按钮,赋值给全局变量strtest]为"2"
strtest = "2"
End If
DoCmd.Close
End Sub
以下是主窗体两个按钮(分别用来实现两种参数传递的情况)的代码:
Private Sub Command25_Click() '通过全局参数strtest传递参数
strtest = "haha" '预设strtest变量以便可以在下面的msgbox(strtest)中判断该变量有没有根据弹出窗体的行为作出改变
DoCmd.OpenForm "2", , , , , acDialog, "strtest"
' Forms![2]!Command4.Caption = "test1" '本来也想通过命令让窗体"2"的第一个按钮名称设置为"test1",但这个命令行不通,会出现错误提示,请问有什么好办法实现吗?
'Forms![2]!Command5.Caption = "test2"
'Forms![2].Caption = "testtest"
MsgBox (strtest)
End Sub
Private Sub Command47_Click() '通过控件text48传递参数 这是主窗体的按钮“2”,代码可以通过并且可以达到要求
DoCmd.OpenForm "2", , , , , , "Text48"
Forms![2]!Command4.Caption = "111" '通过命令让窗体"2"的第一个按钮名称设置为"111"
Forms![2]!Command5.Caption = "222" '通过命令让窗体"2"的第二个按钮名称设置为"222"
Forms![2].Caption = "aaa" '通过命令让窗体"2"的名称设置为"aaa"
'以上三行,目的是为了让窗体"2"成为一个通用的弹出窗体,窗体的显示名称和按钮的名称均可以按照实际情况设置,让不同情况调用这个弹出窗体都可以自定义显示的效果
End Sub
strtest是定义在模块中的全局变量
现在的问题是,我想把窗体“2”设计成通用的弹出窗口,就是在不同的情况下,可以自定义弹出窗口的名称,自定义弹出窗口的每个按钮的名称,请各位大哥赐教了!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|