2017-03-09 8 views
0

テキストボックスを有効/無効にするために、以下のVBAコードを使用しています。MS Access VBAでテキストボックスを有効/無効にする

コードが実行されると、tonnesのテキストボックスは無効のままです。

追加の不足しているプロパティはありますか?

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ブロックの内部に入るように、コードを1行ずつ進めてみてください。 2)Me.Tonnes、例えば "Me.Tonnes.Enabled = False"でTonnesを参照してみてください。 –

答えて

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 
関連する問題