热情软件屋

 

如何制作类似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。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio