Accessの条件によって並び替えの順序を変える方法は?

このQ&Aのポイント
  • Accessのメイン画面で検索条件を指定し、「検索」ボタンをクリックすると検索結果が表示されます。並び替えは「昇順、降順、並び替えなし」のオプションで選択できます。現在の方法では、VBAでクエリにORDER BY句を追加して並び替えを行っていますが、後々の画面遷移の際に不都合が生じる可能性があります。条件によって並び替えの仕方を変える方法がわからないため、ご教示いただける方がいらっしゃいましたらお教えください。
  • Accessのメイン画面で検索条件を指定し、検索結果を表示しています。並び替えは「昇順、降順、並び替えなし」のオプションで行えますが、現在の方法ではVBAでクエリにORDER BY句を追加しています。しかし、この方法では後々の画面遷移の際に不都合が生じることがあります。条件によって並び替えの仕方を変える方法を知りたいので、ご教示いただける方がいらっしゃいましたらお願いいたします。
  • Accessのメイン画面で検索条件を指定し、「検索」ボタンをクリックすると検索結果が表示されます。並び替えは「昇順、降順、並び替えなし」のオプションで選択できますが、現在の方法ではVBAでクエリにORDER BY句を追加しています。しかしこの方法では後々の画面遷移の際に問題が生じる可能性があります。条件によって並び替えの方法を変える方法がわからないため、教えていただけると幸いです。
回答を見る
  • ベストアンサー

【Access】条件によって並び替えの順序を変えたい

【Access】条件によって並び替えの順序を変えたい メイン画面(フォーム)で検索条件を指定し、「検索」ボタンをクリック ↓ 検索結果(フォーム)を表示 しています。 メイン画面で並び替えを「昇順、降順、並び替えなし(ID順)」と選択(オプションボタン)しており、次のような処理をしています。 (1)クエリによる抽出(並び替え以外の条件で) (2)並び替えなしの場合はレコードソースを "SELECT * FROM クエリ" とする (3)並び替えありの場合はレコードソースに ORDER BY を追加 (2)、(3)の処理はVBAでおこなっています。 しかしながらこの方法では後々の画面遷移の際に不都合が生じてしまいました。 そこで条件によって並び替えの仕方を変えるところもクエリに含めたいと 思いましたが、方法がわかりません。 ご存知の方がいらっしゃいましたら、ご教示ください。

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

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

並べ表示の切り換えはやった通りレコードソースを随時再設定して再クエリでしょう。 表示用と不都合が出たという後処理のクエリが同じという想定ですが、表示のクエリからもう1つクエリを作ってこの用意するクエリのレコードソースを並び用に操作する。

haruko2005
質問者

お礼

ご回答ありがとうございます。 >レコードソースを随時再設定して再クエリ これをヒントにソースを見直してみたところ、うまくいきました。 やはり並び替えの切り替えはレコードソースでやるしかないのですね。

関連するQ&A

  • 一覧フォームのレコードの並び替え

    常々実現したいと思っている事として、一覧フォームのリアル並び替えがありました。軽薄な知識ならではの発想かもしれませんが、レコードソースが切り替えできれば可能になるかもと考えまして、相談させていただきました。 ●実現したいこと 一覧フォームにコマンドボタン「2個」を配してレコードの並び替えを実現したい。 ●実現のイメージ 1、オブジェクトのイメージ ・クエリを2つ作成「昇順用と降順用」する。 ・一覧フォームにコマンドボタンを2つ配する。 2,運用イメージ ・一覧フォームに配したコマンドボタン「2個」で昇順と降順をリアルに切替える。 ・デフォルトは昇順とする。「開くときは昇順のデフォルト表示」 ●対象の一覧フォームと構成 ・フォーム名 「F_入出庫入力」 ・レコードソース名「Q_入出庫入力」 ・並び替えキーフィールド「商品ID」 ◆希望(分からず勝手を申し上げます) 現状の構成を生かして「あまり作り変えないで」、希望「リアルに昇順表示と降順表示」を実現させたいと思っています。 以上ですが、宜しくお願いします。

  • アクセスのデータの並び替え

    アクセスで、データを表タイプのフォームに出して、フォーム上で回数フィールドを昇順・降順でボタンを使って並び替えをしたいのですが出来ますでしょうか? 現在は、右クリックして並び替えています。 宜しくお願いします。

  • アクセス 抽出条件

    いつもお世話になります。 次の条件で抽出したい時、クエリの抽出条件の書き方を教えてもらえますか。 支店CD 顧客CD 売上金額 昇順         降順 1     11     5,000 1     12     4,000 1     13     3,000 1     14     2,000 2     15     6,000 2     16     5,000 2     17     4,000 3     18     7,000 3     19     6,000 3     20     5,000 支店ごとの上位2レコードを抽出したいのです。下記のように 支店CD 顧客CD 売上金額 1     11     5,000 1     12     4,000 2     15     6,000 2     16     5,000 3     18     7,000 3     19     6,000 アクセスは2003です。よろしくお願いします。

  • コマンドボタンでレコードソースを変更

    「OSとアプリケーション種類」 Windows10、ACCESS2010 「やりたいこと」 簡単な方法で、一覧フォームにコマンドボタンを配して「昇順、降順、未設定」の3通りの表示を実現させたい。 「考えたこと」 予め3つのクエリ「昇順、降順、未設定」を作成しておき、フォームのコマンドボタンでクエリを切り替えできれば「簡単に実現」できるかもしれない。 (簡単発言の背景) 1,レコードソースを変更すれば実現できるのではとの単なる思い付きです。しかし、コマンドボタンのワンクリックで可能にできるスキルがない。 2,対象DBの数「数十個」が多くできるだけ作業の負担を軽減させたい。 「気になること」 コマンドボタンをクリックした時点でフォームの並び替えに即反映の有無。 「他の手段について」 一般的なやり方など、アドバイスがありましたらお願いします。

  • ACCESS クエリの抽出条件

    毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のACCESSファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:Container / Items クエリ:From_Con(パラメータは[Container]フィールド) フォーム:From_Con(テキストボックス名は[txtContainer]) 追加クエリ:From_Con_App(抽出条件は[Forms]![From_Con]![txtContainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? SQLを使う方法? QueryDefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。

  • Accessのレコード抽出条件

    Accessのレコード抽出条件がありますが、降順、昇順にしか分けられないのでしょうか? 例;あ市とか市、さ市、わ市とあったとして、あ市とわ市、後はあいうえお順(降順)で分けることはできないのでしょうか?常に降順としてしか振り分けできないのでしょうか?

  • Access2000 レポートの並び替えについて

    こんにちは。Access2000について質問です。 フォーム上で指定された項目で並び替えをし、それをそのままレポートの並びにしたいのですが、それがどうも上手くいきません。指定する項目はコンボボックスで複数有り、昇順・降順も指定できるようになっています。レポートを開くときにそのフォームで指定されている項目を読み、コードで並び替えを指定しているのですが、どうやら元のテーブルのキー項目の昇順で表示されているようなのです。「並び替え/グループ化」(青いカッコのもの)は、並びが固定されてしまうので使用したくないのです(実際いつも使っていません)。 同じような現象になったことがあるという方、または解決方法をご存知の方は、回答よろしくお願いします。

  • Access 昇順・降順で並び替えできない

    はじめまして。お伺いします。 Accessのデータシートビューです。特定の列だけ、昇順・降順の並び替えが出来なくなりました。 列を選択し、右クリックをすると、他の列では昇順・降順で並び替えのところが出る(アクティブになる)のですが、特定の一列だけ、右クリックメニューの並び替えのところがアクティブになりません。 上のメニュー内からレコードを選択しても同じです。 2,3日前に作業をしたときには出来ていて、今日開いたら出来なくなっていました。 設定のどの部分を見ればよいのか、ご示唆いただければ幸いです。 ご一読ありがとうございました。 それでは

  • Excel の並び替え機能について

    Excel の並び替え機能について質問です。デフォルトでは「記号・数字・アルファベット」 の順に昇順/降順されますが、これを「記号・アルファベット・数字・(日本語)」 の順に並び替える方法を教えてください。 並び替えオプションでやってみたのですがうまくいきません。宜しくお願いします。

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

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

専門家に質問してみよう