2011-03-16 54 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文件,你應該確保每個會話都爲自己初始化變量 - 公共變量的有效期可能比用戶會話長。