• 締切済み

カーソルが次のレコードに移動する

ACCESS2010を使用しています。 単票形式のメインフォームに、帳票形式のサブフォームが2つあるフォームを作成しています。 メインフォームには項目が20個程、サブフォームは共に4つ程の入力項目があります。 サブフォームとメインフォームのカーソルの移動にマウスを使用するのが面倒なので、PageUp/Donwキーを使用するようにしているのですが、PageDownキーを使用した時に何故なのか分からない現象が起きます。 入力済みのレコードを画面上に呼び出しPageUpキーを押すと、2つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動し、更にPageUpキーを押すと1つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動します。 ですが、PageDownキーをした時、1つ目のサブフォームへの移動はPageUpキーと同じ結果ですが、更にPageDownキーを押し2つ目のサブフォームに移動した時、入力済みのレコードではなく新しいレコードの1個目の項目にカーソルが移動してしまいます。 フォーム自身にもVBAにもそのような制御やコードは書いていないのですが、何故動きが異なるのかが分かりません。 ヒントになるような事でも結構です。

  • tdosj
  • お礼率22% (34/149)

みんなの回答

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.2

#1です。 失礼しました。 >ちなみに仰ってるサブフォームとは本来のサブフォームではなく については気にしないで下さい。

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

こちらは参考になりませんでしょうか。 http://www.pc-koubou.jp/office/office_sc_access.php ちなみに仰ってるサブフォームとは本来のサブフォームではなく 2つ目のフォームって意味なのでしょうか。 要するに、メインフォームとは別のフォーム?

tdosj
質問者

お礼

有難うございます。 リンク先を眺めていてもしやと思い keycode = 0 を入れた所解決しました。

関連するQ&A

  • サブフォームのレコードを1件のみに限定することはできますか?

    メインフォームの中にサブフォームを作りました。 メインフォームは単票形式で、サブフォームは表形式です。 (1)メインフォームのレコード1件につき、サブフォームのレコードは1件です。 今のままだとサブフォームが何件でも入力できてしまう仕組みなので、入力者が戸惑わないように、1件しかレコードを入力できないような仕組み(表示)に変えたいのです。 このようなことは可能なのでしょうか? (2)メインフォームの中にサブフォームを作ることにしたのは、依頼者から「この項目を増やしてほしい」と言われるのが一つずつで、その度にメインフォームに関連するエクセルなどのマクロの式を変えなければならず、手間がかかります。 そこで依頼者から言われる項目は○○の実績という一つのカテゴリーに限ったことなので、サブフォームにしてエクセルのマクロとは関連づかないようにすればメインフォームはいじらずに済み手間が省けるのではないかと思ったからですが、この方法は違っていますか? どなたか詳しい方がいらっしゃいましたらご教示いただけないでしょうか? お手数をおかけして申し訳ありませんがよろしくお願いいたします。

  • サブフォームからメインフォームのフィールドにエンターキーで移動したい

    ACCESS2000です。 フォームの中にサブフォームを作っています。 入力される都合で、フォームの中途にサブフォームがあります。このサブフォームのレコードの数は固定しています。(今は19です) サブフォームは帳票形式です。 サブフォームの最後のレコードでエンターキーやTABキーが押された時、メインフォームの指定するフィールドに移動するには、どうすれば良いでしょう。 使用者に特殊なキー操作を強要したくないので、VBAで記述したいのですが。

  • EXCEL2010でカーソル移動時に

    EXCEL2010でカーソル移動時にキーボードのカーソルキーを押すと、以前までカーソルキーのみで、 セル間を移動できたのに画面がキーの方向に移動するようになりました。(Pageup、Pagedownと同じ動作) これを直す方法が分かる方、教えてください。

  • Access2000メインサブフォームでのレコード移動

    Access2000でデータベースを作っている中で、メイン/サブフォームを使用しています。 メインフォームで次レコードへ移動しようとすると、レコードNOは移動しているのですが、データ内容が変わりません。 私の予想なのですがサブフォームにあるレコードの数だけ、(メインフォームの)同一レコードの内容が表示されているようです。 ・次レコードへの移動はフォーム一番下の、デフォルトでついてるレコード移動のボタンを押しました。 ・(メインフォ-ムの)テーブルにはKeyを設定してあり、同じデータは存在していません。 以上ですが、不明な点がありましたらお知らせください。 もしお分かりになる方がおられたらお教えください。よろしくお願いいたします。

  • 新規レコードへ移動しない

    Access2010を使用しています。 サブフォームからメインフォームの「登録」ボタンプロシージャをCallした時、メイン・サブフォーム共に新規レコードへ移動しなくて困っています。 具体的には、サブフォームにフォーカスがある時に「F12」を押すと画面の入力項目の内容刃そのままでメインフォームの「注文番号」テキストボックスにフォーカスが移動します。 メインフォームにフォーカスがあるか、マウスで「F12」をクリックすると画面の入力項目がクリアされて新規レコードへ移動します。 コードは以下の内容が記述してあります。 ーーーーーサブフォーム----- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 123 Call Me.Parent.Form_KeyDown(KeyCode, Shift) KeyCode = 0 End Select End Sub -----メインフォーム----- Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 123 Call 登録_Click KeyCode = 0 End Select End Sub Private Sub 登録_Click() DoCmd.GoToRecord , , acNewRec Me.注文番号.SetFocus End Sub

  • Accessのサブフォームについて

    メインフォームとサブフォームのあるフォームを作成しました。メインフォームを入力してから、サブフォームを入力し、次のレコードへ移動するのにメインフォームの移動ボタンを押すと、次のレコードのカーソルがサブフォームのフィールドへ移動します。メインフォームに移動する方法はありませんか?

  • ACCESS2000のメインフォームサブフォーム間の移動

    Access2000でメインフォームの中に詳細を確認/入力するためのサブフォームを作成しています。 メインフォームの中のコントロールを最後まで入力(enterで移動)していくと、メインフォームの最後のコントロールの次はサブフォームの最初のコントロールに移動します。(これは普通ですよね?) サブフォームはデータの詳細によっては1レコードで終わるものもありますし、複数レコードにわたるものもあります。 サブフォームの入力が終了したときに、キー操作でメインフォームの次のレコードの頭のコントロールに移動する事はできますか? マクロをAccessの方から設定するくらいならできるのですが、自分でSQLをうんぬんする知識はありません。 よい方法があったら教えてください。

  • サブフォームが見えなくなる。

    サブフォームが見えなくなる。 Access初心者です。 メインフォームにサブフォームを入れ込んだのですが、メインフォームを新しいレコードに移動すると、サブフォーム自体が出てこなくなります。 データがあるレコードではきちんとサブフォームが出ていることが確認出来ています。 どうしていいのか判らないので教えて下さい。 マクロで入力ボタンを押すとメインのフォームを開き、新しいレコードに移動することをやっていますが、関係あるでしょうか? やりたいことはメインを新しいレコードに移動した時に、サブフォームが表示されて入力できるようにしたいということです。

  • レコードの移動

    こんにちは。お願いします。いつもスイマセン。 入力フォームの[ID]に番号を入力したら、対応するレコードに移動して欲しいのです。 ([ID]の書式は数値で、小数点以下は0。主キーにしています。) ここに番号を入れ、Enterキーを押すと、レコードが移動して欲しいです。 (オプションで、Enterキー入力後の動作は、次のフィールドにしてますけども、  このままでいいのかも試したけど分かっていません。) [ID]のテキストボックスのプロパティでは、 イベントの更新後の処理に、マクロ(レコードの検索>次を検索)を 設定しましたが、駄目です。 お分かりいただけたか不安ですが、 カーソルが、[ID]にある状態で、番号を入力して、 検索結果のレコードに移動できるように、望みたいのであります。

  • Accessにてフォームを開く時にエラー

    Accessにて、メイン・サブ形式のフォームを作成しています。 サブフォームには、取引の一覧を表形式で入力していきます。 フォームを開く時に、新規のレコードから入力できるようにマクロで設定しましたが、 オブジェクト”サブフォーム名”が開いていません というメッセージが表示されうまくいきません。 ◆マクロ◆ フォームを開く ・・・ メインフォーム名 レコードの移動 ・・・ サブフォーム名            新しいレコード 上記のように設定しています。 マクロでは、不可能なのでしょうか? よろしくご教授願います。

専門家に質問してみよう