Board logo

標題: [發問] 測試表單內multipage二個page的boolean結果不同 [打印本頁]

作者: dechiuan999    時間: 2015-2-8 09:37     標題: 測試表單內multipage二個page的boolean結果不同

各位大大好:
[attach]20229[/attach]
  小弟設有一MULTIPAGE表單
並測試二個COMMANDBUTTON按鈕
來測試BOOLEAN傳回值。

  現有PAGE1 及 PAGE2
,但PAGE1的BOOLEAN值回值
可傳回正確的TRUE 及 FALSE
但是PAGE2 的BOOLEAN值回值
卻無法傳回正確的TRUE 及FALSE
呢?

謝謝各位大大
作者: GBKEE    時間: 2015-2-8 16:16

回復 1# dechiuan999
Page2 共宣告 [3個] 新的物件模組
  1. Private Sub MultiPage1_Change()
  2.     Select Case UserForm1.MultiPage1.Value
  3.     Case Is = 0
  4.     Set Test1 = New clsTest1
  5.     With Test1
  6.         Set .cmd1 = Me.Controls("CommandButton1")
  7.         Set .cmd2 = Me.Controls("CommandButton2")
  8.         Set .cmd6 = Me.Controls("CommandButton6")
  9.         Set .mTxtb1 = Me.Controls("TextBox1")
  10.         .mdTrue = True
  11.     End With
  12.     Case Is = 1
  13.         ReDim Test2(3 To 5)
  14.         For i = 3 To 5
  15.             Set Test2(i) = New clsTest2   '共宣告 [3個] 新的物件模組
  16.             Set Test2(i).cmd = Me.Controls("CommandButton" & CStr(i))
  17.             Set Test2(i).mTxtb2 = Me.Controls("TextBox2") '
  18.         Next
  19.         Test2(3).mType = 3
  20.         Test2(4).mType = 4
  21.         Test2(5).mType = 5
  22.         Test2(3).mdTrue = True
  23.     End Select
  24.    
  25. End Sub
複製代碼
  1. Private Sub mCmd_Click()
  2.     MsgBox mCmd.Caption & "-" & mTrue
  3.     Select Case ckType
  4.     Case Is = 3
  5.         If mTrue = False Then
  6.         mTrue = True
  7.         Else
  8.             mTrue = False
  9.         End If
  10.         mTxt2 = mTrue
  11.     Case Is = 4
  12.    
  13.     Case Is = 5
  14.         If mTrue = True Then
  15.         mTrue = False
  16.         Else
  17.             mTrue = True
  18.         End If
  19.         mTxt2 = mTrue
  20.     End Select
  21. End Sub
複製代碼

作者: dechiuan999    時間: 2015-2-8 20:35

回復 2# GBKEE


    謝謝版主大大的說明。

小弟原意是想簡化在
clsTest2省略設定
cmd成一個。卻不知有
如此差異。

小弟是因使用下列的設定
共宣告 [3個] 新的物件模組
Set Test2(i) = New clsTest2   
也是因為這【3個】各自獨立的新物件
模組互不相通,boolean才無法回傳正確。
不知小弟的判斷是否是對的嗎?

下列是小弟修正之後:
Case Is = 1
        Set Test2 = New clsTest2
        With Test2
            Set .cmd3 = Me.Controls("CommandButton3")
            Set .cmd4 = Me.Controls("CommandButton4")
            Set .cmd5 = Me.Controls("CommandButton5")
            Set .mTxtb2 = Me.Controls("TextBox2")
            .mdTrue = True
        End With
        
    End Select
Private Sub mCmd3_Click()
     If mTrue = False Then
        mTrue = True
    Else
        mTrue = False
    End If
        mTxt2 = mTrue
End Sub

Private Sub mCmd5_Click()
    If mTrue = True Then
        mTrue = False
    Else
        mTrue = True
    End If
        mTxt2 = mTrue
End Sub

感恩版主大大!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)