• ベストアンサー

リクエリはするがカーソルは戻らないようにする事は

サブフォームはデータシートビューです。 Form_フォーム1.Controls("SF").Form.Requery で、リクエリすると サブフォームのレコードのカーソルが途中でもリクエリ後に一番上に戻ってしまうのですが リクエリはするがカーソルは戻らないようにする事は可能ですか? アクセス2010です。

質問者が選んだベストアンサー

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは Form_フォーム1.Controls("SF").Form.Requery を Form_フォーム1.Controls("SF").Requery にしてもダメですか?

GWSRVDKKONPUP
質問者

お礼

ありがとうございます。

関連するQ&A

  • レコードの削除ができない

    アクセス2007です。 デザインで一つのフォームを作り そこにテーブル1をドラッグしてサブフォームにしました。 そしてサブフォームのテーブル1はデータシートビューで表示しています。 例えば、画像のように4レコード目を削除しようと思いカーソルを持っていき 右クリックすると 「レコードの削除(R)」が選択できない状態です。 2007では、サブフォームでレコードの削除はできないのでしょうか? アドバイスよろしくお願いします。

  • サブフォームをリクエリするには?

    アクセスのフォームにはサブフォームがあり、 親フォームの上にあるコマンドボタンで、テーブルに対してアクションクエリでレコードの削除やレコードの更新を行います。 サブフォームにはそのテーブルをソースとしたデータを表示させているのですが、 親フォームの上にあるコマンドボタンのイベントの最後に、 Me.Controls("サブフォーム").Requery を入れても、フォームのデータが#Deletedになります。 Me.Requery でも、サブフォームのデータは#Deletedになってしまいます。 フォームを開きなおしたり、並べ替えをすればデータが表示されますが コマンドボタン押下後にイベントを実行し終わったら、サブフォームのデータも更新されたデータを表示するさせるには どうすればいいでしょうか?

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

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

  • ACCESSでサブフォームの編集中レコードの処理

    ACCESS2000で単票系メインフォームと帳票系サブフォームを連結し、サブフォームに入力した明細(複数レコード)の金額累計(サブフォームフッターの非連結コントロール)をメイン側へ登録する処理を行っています。メイン側(マスターテーブル)への保存は保存用のコマンドボタンで行っています。サブフォーム側で完全に編集完了した場合(カーソルが次レコードの入力ラインにある)は正常に処理されますが、編集途中のレコードの金額は累計されないで保存されてしまいます。また保存コマンドボタンでサブフォームにRequeryをかけると累計金額がクリアされてしまいます。編集途中(つまり入力後エンタキーを押さないで直接コマンドボタンを押下)でもちゃんと累計されるような方法をご指導ください。よろしくお願いします。

  • GoToRecordでサブフォームを指定したい

    Fフォームの中にSF詳細という名前のサブフォームを埋め込んでいます。 このサブフォームに対して、 指定したレコードに移動したいのですが DoCmd.GoToRecord acDataForm, Form_SF詳細, acGoTo, 3 DoCmd.GoToRecord acDataForm, Forms("Fフォーム").Controls("SF詳細").Form, acGoTo, 3 DoCmd.GoToRecord acDataForm, "SF詳細", acGoTo, 3 全部エラーになり、うまくいきません。 正しい記述の仕方を教えてください。

  • アクセス サブフォームのレコードの値が変更したら

    フォームの中にテーブルに基づいたサブフォームを入れています。 サブフォームはデータシートビューで表示しています。 そのサブフォームのレコードの値が変わったら msgboxを表示させるにはどのイベントで行なえば良いですか? サーブフォームのコントロールに Private Sub ページ名_AfterUpdate() MsgBox "" End Sub としたら確かにメッセージボックスは表示されるのですが 全てのコントロールにつけないとだめですか? 「サブフォームのレコードの値が変更したら」 とするにはどうすればいいでしょうか?

  • サブフォームに対してGoToRecordするには?

    フォームに対してRequeryすると先頭のレコードへ移動してしまうので Requeryする前のレコードの番号を取得して Requery後にそのレコード番号へ移動したいのですが Sub test() i = Forms("Form").Controls("SubForm").Form.CurrentRecord Forms("Form").Controls("SubForm").Requery DoCmd.GoToRecord acActiveDataObject, Forms("Form").Controls("SubForm"), acGoTo, i End Sub これをすると、実行時エラー2498 指定した式は、いずれかの引数とデータ型が対応していません。 になりますが、 どこがおかしいのでしょうか?

  • アクセスのメインフォームのみRequeryしたい

    アクセスでフォームを作製しています。 シンプルに「メインフォームの中にサブフォームがある」形で作製し各フォームにはクエリをレコードソースとして指定しています。検索したいデータのコードを入力してそのデータを表示させる・・・という一般的なフォームなのですが、メインフォームのみRequeryさせたいのですができますか? [Forms].[メインフォーム].requery とするとサブフォームまで再計算されてしまいますが、ここでサブフォームは再計算させないで、メインフォームだけ再計算させたいのです。宜しくお願いします。

  • Access メインフォームのリフレッシュについて

    Access2003 にて、下記の手順で処理するプログラムを作成しています。 メインフォーム(埋め込みサブフォーム ※データシートビュー 一覧表) →埋め込みサブフォームの対象のレコードセレクタをダブルクリック。 →別フォームを起動し、データ入力更新。別フォームを閉じる。 →メインフォームのリフレッシュ し別フォームで変更した内容を反映させたい。 メインフォームのリフレッシュを行いたいのですが、うまくいきません。 ■試してみたこと メインフォーム、サブフォーム、別フォームとあり、 1. 別フォームのデータ更新が終了したあと、 別フォームを閉じる直前にForms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 2. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Forms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 3. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Me.requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし ----- いずれもメインフォームには変化はありませんでした。 出来れば、メインフォームにはForm_Loadした時と同じように 処理を走らせたい(メインフォームを閉じることなくフォームロードから処理を再開させたい) と考えています。 サブフォームを含め、メインフォームごとリフレッシュするような処理はないでしょうか。 ご存知のかた宜しくお願いいたします。

  • Access2010 帳票サブフォームで

    Access2010 SP1を使用しています。 帳票サブフォームを含むフォームを作成しています。 1.そのフォームを開いている時、VBAで実際のフォーカス(カーソルがあって直接入力できる位置)が メインフォームにあるかそれともサブフォームにあるかを判断する方法はありませんでしょうか? メインで入力中でもRequery時などで、サブフォーム内のコントロールでEnterイベントが起きてしまい、 本当はサブフォーム内でカーソルが当たって入力する時だけに実行したい処理が動いてしまうのです。 そこでサブのイベントの方にメインで入力中は実行せず、サブで入力している時のみ実行するよう IFで分岐を入れたいのですができますでしょうか? 2.フォームフッタを含む帳票サブフォームでレコードソースが0件の時、 そのフッタにあるテキストボックスへのEnter時にSelLengthやSelStart、Textプロパティが実行できません。 Enter時なのに「コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドを参照することはできません」 と出てしまうのです。 0件でなければエラーが出ないのですがどうすれば出るようになるのでしょうか?

専門家に質問してみよう