
No.2ベストアンサー
- 回答日時:
No.1です。
> カーソルがトップに移動した後、そのまま今度は左右に移動するので
↑キーで右のフィールドに、↓キーで左のフィールドに移動するということですか?
ACCESS2000ではそういう動きはしないので、バージョンのちがいによるものか、コチラの ACCESSがおかしいのか、いずれにしても検証できないのでご希望どおりになるかどうかわかりませんが、次のコードで試してみてください。
'--------------------------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case vbKeyUp
If Me.CurrentRecord = 1 Then
KeyCode = 0
Else
DoCmd.GoToRecord , , acPrevious
End If
Case vbKeyDown
If Me.NewRecord Then
KeyCode = 0
Else
DoCmd.GoToRecord , , acNext
End If
End Select
End Sub
'---------------------------------------------------
要は、KeyCode = 0 とすれば、キー入力が無効になります。
試されたのが、No.1の参考URLにある、テキストボックスのイベントの方でしたら、コレを参考にコードを修正してください。
( 上のコードでご希望どおりの動作になれば、ですが・・ )
ちなみにカーソルがどこにあろうが、↑と↓のキー入力を無効にするのは、次のようなコードでできると思います。
'----------------------------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Or KeyCode = vbKeyDown Then
KeyCode = 0
End If
End Sub
'-----------------------------------------------------
なんと、ありがとうございます。
コードまで書いて頂き、恐縮です。
KeyCode = 0 だけで、良かったんですね。
今度はもっと勉強します
==
No.1
- 回答日時:
こんにちは~
↑キーで前のレコード、↓キーで次のレコードに移動できるようにしたいってことですよね?
VBAを使えば可能です。
下のコードで、ご希望どおりの動作になるか確認してください。
( フォームのキークリック時イベント )
'------------------------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case vbKeyUp
DoCmd.GoToRecord , , acPrevious
Case vbKeyDown
DoCmd.GoToRecord , , acNext
End Select
End Sub
'------------------------------------------------
★フォームのプロパティ 「イベント」タブ
<キーボードイベント取得>を 「はい」 にすることをお忘れなく!!
★フォームのイベントではなく、テキストボックスごとのイベントで行う場合は、参考URLをご覧ください。
この場合は、フォームの<キーボードイベント取得>を 「はい」 にする必要はありません。
参考URL:http://www.tsware.jp/tips/tips_071.htm
この回答への補足
お答えの方法で、出来ました。
ありがとうございます。
贅沢を言いたいのですが、レコードのトップ(AcFirst?)まで、カーソルが移動したら、もうそこから動かない方法はないですか?
お答えの方法だけでは、カーソルがトップに移動した後、そのまま今度は左右に移動するので・・・
レコードの最後(AcLast?)に移動したときも同様に。
レコードトップ(ラスト)にいったら、上下だけのカーソルキーをイベント受付拒否できませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google chrome から yuotube.co...
-
メールアドレスの作成の際上バ...
-
exp(13.4)を関数電卓で計算する...
-
「(アクサングラーブ)キー」と...
-
プラス(足す)キーはどうやっ...
-
Windows11でアップデートしたら...
-
エクセルで複数行に散らばった...
-
Shiftキーのはめ方を教えてくだ...
-
PDF-XChange Viewer 全画面表示...
-
Access2010 Enterで次テキスト...
-
キーボードがCtrlキーが押され...
-
「か」を数字で表すとどうなり...
-
Excelでカーソルの移動が...
-
プーリーのキーが外れない
-
IMEパッドがショートカットキー...
-
AutoCAD上でのalt-ime-ahkソフト
-
キーボードが押されたことの感...
-
PgDn、PgUpの設定が急に変わっ...
-
Ctrlキー+HomeキーでセルA1へ移...
-
キーボードにゴミ・・・取り方は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プラス(足す)キーはどうやっ...
-
「か」を数字で表すとどうなり...
-
メールアドレスの作成の際上バ...
-
exp(13.4)を関数電卓で計算する...
-
「(アクサングラーブ)キー」と...
-
サイト画面等で、一瞬に一番下...
-
Scroll Lockが勝手に有効になる...
-
エクセルで複数行に散らばった...
-
Shiftキーのはめ方を教えてくだ...
-
プーリーのキーが外れない
-
PgDn、PgUpの設定が急に変わっ...
-
Windows11でアップデートしたら...
-
キーボードがCtrlキーが押され...
-
PDF-XChange Viewer 全画面表示...
-
キーボードの上部にあるランプ...
-
(word) 文字列の上に線を引く方法
-
IMEパッドがショートカットキー...
-
AutoCAD上でのalt-ime-ahkソフト
-
パソコンの青い線枠が消えませ...
-
MacのExcelでoptionキーを押し...
おすすめ情報