
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で質問しましょう!
似たような質問が見つかりました
- Word(ワード) Wordで破線をひくにはどうすれば良いのでしょうか。 5 2022/06/17 13:24
- Excel(エクセル) MacのExcelでoptionキーを押したまま図形や画像を移動させると、複製されてしまう 2 2022/06/14 16:19
- その他(プログラミング・Web制作) iMacのシェル内カーソル移動 1 2022/06/15 17:27
- マウス・キーボード テンキーが異状です。 4 2022/06/07 16:09
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
- Excel(エクセル) Excelで、カーソルの移動が異常です。 1 2022/06/15 20:54
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- その他(Microsoft Office) Excel 2列分のDATAの並べ替え 1 2023/01/01 17:12
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Scroll Lockが勝手に有効になる...
-
プラス(足す)キーはどうやっ...
-
メールアドレスの作成の際上バ...
-
キーボードがCtrlキーが押され...
-
ノートパソコンでのプリントス...
-
エクセル TABキーの動きを...
-
Tabキーが右側にないのは
-
キーボードにゴミ・・・取り方は?
-
PgDn、PgUpの設定が急に変わっ...
-
サイト画面等で、一瞬に一番下...
-
Excelでカーソルの移動が...
-
エクセルで複数行に散らばった...
-
メールの画面が半分になってし...
-
HPの画面をそのままWORD...
-
VSCodeで上書きモードにならない
-
「(アクサングラーブ)キー」と...
-
Wordで次ページに飛ぶショート...
-
MacのExcelでoptionキーを押し...
-
矢印キーのロック解除方法
-
Ctrlキーが押されたことの検出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メールアドレスの作成の際上バ...
-
「(アクサングラーブ)キー」と...
-
プラス(足す)キーはどうやっ...
-
Scroll Lockが勝手に有効になる...
-
「か」を数字で表すとどうなり...
-
PgDn、PgUpの設定が急に変わっ...
-
キーボードがCtrlキーが押され...
-
Shiftキーのはめ方を教えてくだ...
-
サイト画面等で、一瞬に一番下...
-
プーリーのキーが外れない
-
Ctrlキー+HomeキーでセルA1へ移...
-
Access2010 Enterで次テキスト...
-
エクセルで複数行に散らばった...
-
パソコンの青い線枠が消えませ...
-
IMEパッドがショートカットキー...
-
PDF-XChange Viewer 全画面表示...
-
キーボードの上部にあるランプ...
-
VSCodeで上書きモードにならない
-
パソコン スクショのやり方教...
-
exp(13.4)を関数電卓で計算する...
おすすめ情報