1

アクセス フォームにテキスト ボックスがあり、テキスト ボックスが空白の場合に編集できるようにしたいと考えています。私は VBA を初めて使用するので、最善の方法がわかりません。ダブルクリック イベントを使用しても問題ありませんが、ロード時に実行することをお勧めします。

次のコードを試しましたが、動作しないようです。どんな助けでも大歓迎です。

Private Sub EmpID_DblClick(Cancel As Integer)
If EmpID.Text = "" Then
    Me.EmpID.Enabled = True
End If
End Sub
4

2 に答える 2

5

レコードごとに発生する必要があることについては、現在のイベントを使用することをお勧めします。コントロールに .Text プロパティを使用しないでください。プロパティを使用する必要がある場合は、.Value を使用します。.Text プロパティは、コントロールにフォーカスがある場合にのみ使用でき、通常、Change イベントなどの特別な場合にのみ使用されます。

Private Sub Form_Current()
  If IsNull(EmpID) Then
    Me.EmpID.Enabled = True
  End If
End Sub

通常のセットアップでは、コントロールが長さ 0 の文字列 ("") に等しい可能性はありません。

次のように言うことで、すべてのベースをカバーできます。

Trim(EmpID & "") = ""
于 2012-05-30T15:30:37.853 に答える
1

Null問題に直面しています

Nullと同じではありません""

代わりにこれを試してください

If EmpID.Text Is Null Then
    Me.EmpID.Enabled = True
End If
于 2012-05-30T15:35:47.163 に答える