2011-03-16 55 views
1

大家好,我想传递已在Form 1中声明的变量来说FormN。说这是我的想法,有两个用户匿名用户和认证用户,谁登录到电子书管理系统,显然只有经过身份验证的用户(AU)可以编辑和操作数据库。现在我想通过变量标志,并将为匿名用户分配标志值为0,为AU分配1。 我的疑问是在form1(我要设置标志值)。以及如何通过这个值来说Form3,这取决于标志我将分别设置为匿名和Au用户启用和禁用添加/删除..按钮。如何在VB6中做到这一点?如何将Form1中的变量传递给VB6中的FormN?

请注意,添加/删除按钮添加和删除数据库中的表。

这就是我需要:

在Form1

Private Sub XXX_Click() 
{ 
    `have to initialize the flag depending on user's log-in 
} 

在形式2中,其中i有检查该标记的功能,这样我可以禁用按钮(可根据用户)。我怀疑是在哪里放置这些功能?

+0

你考虑过Form1上的公共财产吗? – 2011-03-16 12:22:32

+0

不重要,但我必须通过这个变量,所以我想它会公开..我是一个新手:) – 2011-03-16 12:41:34

回答

1

你可以用这种方式:

Form1声明公用变量标志和可选的Form_Initialize()方法:

Public Flag as Integer 
Sub Form_Initialize() 
    ' here you set your default value for this var espesially if it is not 0 
    Flag = 0 
End Sub 

Form3还声明公共变量标志:

Public Flag as Integer 
Sub Form_Initialize() 
    ' here you set your default value for this var espesially if it is not 0 
    Flag = 0 
End Sub 

然后在Form1在你的代码的某个地方你这样做:

Sub Your_Function() 
    ' ... 
    Dim f as Form3 
    Set f = new Form3 
    f.Flag = Me.Flag 
    f.show ' or f.show vbModal 
    ' ... 
End Sub 

,然后在Form3Form_Load()你将有VAR Flag已经被设置为正确的值。

+0

对不起,在形式之一,我已经放置的代码?我是一个新手,所以引导我:) – 2011-03-16 12:44:40

+0

首先把变量“标志”的声明,然后你的函数代码 – 2011-03-16 12:49:46

+0

罚款谢谢:) – 2011-03-16 13:05:37

0

我们在bas模块中使用公共变量用于类似的目的。首先(登录)表单初始化这些变量,任何其他形式都会使用它们。 这种方法在简单的exe文件中工作;对于activex exe和dll文件,你应该确保每个会话都为自己初始化变量 - 公共变量的有效期可能比用户会话长。