如何制作类似InputBox的窗体
编号:QA001450
建立日期: 1999年8月1日 最后修改日期:1999年8月1日
所属类别:
jsghjb:
操作系统:Win98 数据库:ACCESS(office 97) 同时装有VB5。
我已用ACCESS编写了一套商品进、销、存、利润的结算程序。但总感觉到InputBox函数画面不太漂亮,想自己编一个,现在碰到了困难。问题是:不知怎样将控制权从一个窗体转到另一个窗体然后再转回来并在一个过程中完成,与InputBox函数一样。我的思路是每个提示筐制作一个窗体,然后自制一个函数将窗体名通过函数传过来,在函数中打开此窗体,在窗体的文本框中输入内容,再通过函数将内容传回给过程。这样窗体可以根据个人爱好设计。然而我在编制的过程中发现只能将窗体名传到函数而不能将窗体输入的内容传回过程,因在函数中一打开窗体,过程已结束,这时已无法回传函数。只有再调用一次过程才能将函数传回,(我将函数值保存在模块变量中)这时已打开的窗体不动作。到现在我只能作到一个过程输入一次,不能再输第二次,因我不知道怎样转交控制权。望赐教!并将模拟程序一起传上。
回答:
可以这样做:
1、先建立一个窗体,放置一个Text和两个按钮并设置好有关属性。
2、输入以下代码:
' 确定按钮
Private Sub Command1_Click()
Text0.SetFocus
MyStar = Text0.Text
DoCmd.Close
End Sub
' 取消按钮
Private Sub Command2_Click()
MyStar = ""
DoCmd.Close
End Sub
3、在模块中输入:
Public MyStar As String
Function MyInputBox() As String
DoCmd.OpenForm "frmInput", acNormal, "", "", acEdit, acDialog
MyInputBox = MyStar
End Function
现在你可以象调用InputBox一样调用MyInputBox。关键是DoCmd.OpenForm的参数acDialog。
此问题由李海回答。
| |
|
|
| |
|
|