Requeryしても並べ替えはされないのでしょうか

このQ&Aのポイント
  • Requeryを使用してもテーブルの並び替えは反映されないようです。
  • フォーム1を再度開いた場合には並び替えが正しく反映されます。
  • なぜRequeryで並び替えがされないのか疑問です。
回答を見る
  • ベストアンサー

Requeryしても並べ替えはされないのでしょうか

【条件】*************************** (テーブル1) フィールド1 1 2 3 4 5 (クエリ1) SELECT テーブル1.フィールド1 FROM テーブル1 ORDER BY テーブル1.フィールド1; (フォーム1) レコードソース:クエリ1 既定のビュー:帳票フォーム コマンド3:コマンドボタン Private Sub コマンド3_Click() Me.Requery End Sub ************************************ 上記の条件で、3レコード目の「3」を「10」に変更し、 コマンド3を押下しても、10は3レコード目のままです。 フォーム1をバツボタンで閉じて、フォーム1を開きなおすと10は一番下に来ます。 Requeryで更新しているのに、なぜ並び替えがされないのでしょうか?

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

フィールド1 を変更していますがまだレコードは確定していない為ではないですか アクティブレコードを他のレコードへ移動してからコマンド3を押下して下さい。

pnywmusg32
質問者

お礼

ありがとうございます。

関連するQ&A

  • サブフォームをリクエリしたい

    メインフォームのコマンドボタンを押下するとvbaを使ってテーブルのデータを更新します。 メインフォームの中にはサブフォームがあり、 そのサブフォームとテーブルがリンクしています。 サブフォームにはテーブルのデータが表示されており、 メインフォームのコマンドボタン押下→テーブルデータ更新 がされると、全て#Deletedという文字が表示されます。 なので、 Private Sub cmd_データ更新_Click() Call データ更新 Me.Controls("Fサブ").Form.Requery End Sub としたのですが、 「実行時エラー’2465’:指定した式で参照されている’Fサブ’フィールドが見つかりません。」 が発生します。 Me.Controls("Fサブ").Requery これにしても同じでした。

  • テーブル・クエリ・フォーム どれがいい?

    アクセス初心者の為、よくわからないので教えてください。 テーブル1があり そこには ID(主キー/オートナンバー型) フィールド1(テキスト型)があります。 そのテーブルを基にクエリ1作成してます。 [SELECT テーブル1.* FROM テーブル1;] です。 また、テーブル1をレコードソースとしたフォーム1も作成しています。 そして図のようにメインメニューフォームを作成し それぞれのコマンドボタンを設置しました。 モジュールには --------------------------------------------------------- Option Compare Database Option Explicit Private Sub コマンド0_Click() DoCmd.OpenTable "テーブル1", acViewPivotTable End Sub Private Sub コマンド1_Click() DoCmd.OpenQuery "クエリ1", acViewPivotTable End Sub Private Sub コマンド2_Click() DoCmd.OpenForm "フォーム1", acFormPivotTable End Sub --------------------------------------------------------- と書いたので どのボタンを押してもピボットテーブルを開けます。 しかしどれか一つにしたいのですが 今後運用するにおいてどれで開けばいいのでしょうか? ピボットテーブルビューで開くならどれも同じでしょうか? 今回はピボットテーブルビューで表示していますが データシートビューでも表示させたい場合があれば 「フォームなら条件付き書式が設定できるからフォームが良いかなー」 と思っています。 確かテーブルやクエリでは条件付き書式はできなかったような・・・ 全てのビューで開くにおいて テーブル・クエリで開くメリットがあれば教えてください。 ご回答よろしくお願いします。

  • Access VBA Me.Requery レコードは削除されています エラー

    Me.Requery すると「レコードは削除されています」エラー 予約テーブル → 確定テーブルにデータ移し、予約テーブルのレコードは削除 という処理をしています。 予約詳細というクエリを作り、フォームで開きました。 [確定]ボタンを設置し、フォームの値を確定テーブルに追加できるようにしました。 確定済みの予約レコードは、削除します。 ここまでは成功したのですが、フォームには、確定済みの予約レコードが表示されたままです。 Me.Requery というコードを追加しましたが、エラーになります。 「レコードは削除されています」エラーです。 単純に[削除]ボタンで1レコード削除した後、 Me.Requery した場合には、問題なく、きれいに再表示されます。 -------------------------------- Private Sub 削除ボタン_Click() Dim ADOcmd As ADODB.Command Set ADOcmd = New ADODB.Command ADOcmd.ActiveConnection = CurrentProject.Connection ADOcmd.CommandText = "Delete from 予約 where 予約ID=" & me.予約ID ADOcmd.Execute Set ADOcmd = Nothing Me.Requery ' <<<< これは成功します。gannersさん感謝<(_ _)> End Sub -------------------------------- 途中で何かのプロパティが変化しているからでしょうか? 解決方法わかる方いらっしゃいますか?

  • 並び替えフィールドをコマンドボタンで変更したい

    帳票フォームを使ってデータを一覧表示していますが、フォームにコマンドボタンを配して、並び替えのフィールドを変更したいと思っています。 [データベースオブジェクト] ・テーブル名:偉人賢人テーブル「フィールド:ID、国、名前、分野、功績情報」 ・フォーム名:偉人賢人一覧フォーム ・レコードソース名:偉人賢人クエリ「名前フィールドの並び替え(昇順)」 ・クエリソース:偉人賢人テーブル [フォームの配置] ・詳細欄:ID、国、名前、分野 ・ヘッダー:功績情報 以上ですが、宜しくお願いします。

  • Access:検索フォーム

    Access:検索フォーム クエリを基に作成したフォームで「日付2」が変動する検索フォームを作りたいのですが上手く動作しません。 不足などを教えてください; Access2007/WinXP クエリ名 q_出席一覧絞込 1)フィールド名 日付1  クエリ条件 >#2010/01/01#       (2010/1/1以降) 2)フィールド名 日付2  クエリ条件 ([Forms]![出席者絞込]![検索日]に入力した日付以降の日付) フォーム名:出席者絞込 帳票フォーム 1)テキストボックス名:検索日   定型入力: 0000/00/00;0;*   非連結 2)ボタン名:検索ボタン1   クリック時イベントプロシージャ:   Private Sub 検索ボタン1_Click() Me.Requery   End Sub また、フォーム上で元テーブル「出席一覧」のフィールド「単価」の修正機能を加えたい状態です。 (クエリにも「単価」は呼び込んであります) クエリ元のフォーム上で修正>ボタンクリック時にRequeryを記入、という考えでいいのでしょうか? 参考になるサイトなどあればご紹介ください。

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

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

  • アクセス Between  Andの使い方 日付型

    フォームをテーブルに紐づけて コマンドボタンを押下したら、日付にフィルタをかけたいのですが、 0件で抽出されます。 フィールド1 2013/05/19 2013/05/20 2013/05/21 というテーブルがあり、 フォーム上のコマンドボタンのクリックイベントは Private Sub コマンド1_Click() Me.Form.Filter = "フィールド1 Between " & Date & " And " & Date + 1 Me.Form.FilterOn = True End Sub です。 2013/05/19 2013/05/20 が抽出されるべきだと思うのですが、なぜ何も抽出されないのでしょうか? エラーにもなりません。

  • サブフォームの並べ替えをしたい

    どうしても出来ないのでお知恵をお貸しください。 【1】「オートフォーム:データーシート」で、テーブル1を紐付けて、 子フォームを作成しました。 【2】「デザインビュー」で親フォームを作り、 その子フォームをドロップアンドドラッグしてサブフォームにしました。 【3】親フォームにコマンドボタンを一つ設置しました。 (図参照) 【4】コマンドボタンのイベントプロシージャーに Private Sub コマンド1_Click() Forms("親").Controls("子").Controls("入金").SetFocus DoCmd.RunCommand acCmdSortAscending '昇順並べ替え End Sub とコードを書きました。 そして、親フォームを開き、コマンドボタンを押すと、 実行時エラー2046 「コマンドアクション"昇順で並べ替え" は無効です」 となってしまいます。 しかし、図のように 子フォームのデータシート上のどれかの値にフォーカスがある状態で 標準モジュールに書き写した Sub test1() Forms("親").Controls("子").Controls("取引日").SetFocus DoCmd.RunCommand acCmdSortAscending '昇順並べ替え End Sub を実行すると 問題なく並び替えがされます。 RunCommand を使わなくてもいいので 「コマンドボタンを押したら、サブフォームの並び替えをする」には どうすればいいのでしょうか。 ご教授よろしくお願い致します。(アクセス2003)

  • NULL値のレコードを検索(フィルタ)したい

    アクセス2003です。 画像の様なフォームを作成しました。 感想フィールドが未記入(NULL)のレコードにフィルタを掛けたいのですが Private Sub Click() Form_テーブル1.SetFocus Form_テーブル1.Filter = "感想 = '" & Null & "'" Form_テーブル1.Filter = "感想 = '" & "" & "'" Form_テーブル1.Filter = "感想 <> '" & "*" & "'" Form_テーブル1.FilterOn = True Form_テーブル1.Requery End Sub どれも引っかかりません。 クエリでデータ型を取得してみると NULLが返って来ます。 (SELECT TypeName([テーブル1]![感想]) AS 感想 FROM テーブル1;) Null値にフィルタを書ける方法を教えてくださいませ。

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

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

専門家に質問してみよう