2017-03-09 89 views
0

我有下面的VBA代碼訪問啓用/禁用文本框。MS Access VBA啓用/禁用文本框

執行代碼時,噸文本框保持禁用狀態。

我是否缺少一個附加屬性?

Private Sub EnableTonnes() 

    Dim sCode As String 
    sCode ="xx" 


    ' set default values for tonnes enabled and locked properties 
    Tonnes.enabled = False 
    Tonnes.Locked = True 

If sCode = "xx" Then 
    ' enable tonnes field 
    Tonnes.enabled = True 
    Tonnes.Locked = False 
    End If 

End Sub 
+0

解鎖之前啓用? –

+0

很好的建議,但它沒有奏效。 – user3845056

+0

有些事情要嘗試:1)嘗試一行一行地逐行瀏覽代碼,以確保它實際上進入If塊。 2)嘗試用Me.Tonnes引用Tonnes,例如「Me.Tonnes.Enabled = False」。 –

回答

0

您的代碼看起來沒問題。 TextBox屬性在表單設計模式下設置,並且只能在表單設計模式下永久更改。您可以使用一些複雜的編碼在設計模式下打開表單,更改屬性並保存表單...或手動執行。您將始終能夠使用您的代碼在運行時控制這些屬性。

Option Compare Database 
Option Explicit 

Private Sub cmdGo_Click() 

    Dim sCode As String 
    sCode = "xx" 

    ' set default values for tonnes enabled and locked properties 
    txtTonnes.Enabled = False 
    txtTonnes.Locked = True 

    If sCode = "xx" Then 
     ' enable tonnes field 
     txtTonnes.Enabled = True 
     txtTonnes.Locked = False 
    End If 

    MsgBox txtTonnes.Name & " Enabled status is " & txtTonnes.Enabled 
    MsgBox txtTonnes.Name & " Locked status is " & txtTonnes.Locked 

End Sub 

Private Sub Form_Load() 
    MsgBox txtTonnes.Name & " Enabled status is " & txtTonnes.Enabled 
    MsgBox txtTonnes.Name & " Locked status is " & txtTonnes.Locked 
End Sub