Accessの既定の設定では、テキストボックスでEnterキーを押すと、次のフィールドに移動するようになっています。
[Enterキー入力時動作]プロパティーを「フィールドに行を追加」に設定すると、Enterキーを押すと改行するようになります。
こうすることで、Tabキーでフィールドの移動、Enterキーで改行と使い分けることが出来ます。
では、[Shift]+[Enter]で改行できるようにするにはどうしたらいいでしょうか?
これは、プロパティーの設定だけでは実現できませんので、テキストボックスの「キークリック時」イベントを記述する必要があります。
例として、テキストボックス「txt_備考」のキークリックイベントを記載します。
Private Sub txt_備考_KeyDown(KeyCode As Integer, Shift As Integer)
Dim s As Long
Dim ctrl As TextBox
'「Shift+Enter」の同時押し時
If KeyCode = vbKeyReturn And Shift = acShiftMask Then
'入力したキーを無効化
KeyCode = 0
ctrl = Me.txt_備考
s = ctrl.SelStart
ctrl.Value = Left(ctrl.Text, s) & vbCrLf & Mid(ctrl.Text, s + 1)
ctrl.SelStart = s + 2
End If
End Sub
コメント