• 締切済み

ma accessの並び替えについて

こんにちは ms accessのテーブルの並び替えについて質問があります。 フォームのvbaにてsortメソッドを用いて3つの並び替え条件で実行したのですが、1つ目(一番左に記述した条件)しか機能しません。 sortメソッドはaccessだとうまくいかないのでしょうか。 宜しくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

参考 https://docs.microsoft.com/ja-jp/office/vba/access/concepts/forms-design/change-the-filter-or-sort-order-of-a-form-or-report > 並べ替えの基準にする 1 つ以上のフィールドに "OrderBy/並べ替え" プロパティを設定してから、"OrderByOn/並べ替え適用" プロパティを True に設定します

yayamuyayamu
質問者

お礼

テーブル名が間違ってました

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1624/2466)
回答No.1

できるはずですが データによっては機能していないように見えるかもしれません。 一つ目の順が変わっても二つ目の並び順が同じになるような場合 A、あ C、い B、い みたいな感じです レコードの並べ替え(基礎編) http://www7b.biglobe.ne.jp/~cbcnet/kisuhen/sort.html

yayamuyayamu
質問者

お礼

テーブル名が間違ってました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスのVBAについて

    アクセスのVBAでテーブルからウィザードでフォームを作成したのですが、その表示内容を昇順でソートしたいのですがどうすればよいのでしょうか?勝手に主キーでソートされてしまいます。違う値でソートしたいのですが・・・一応フォームLoadのイベントでSQLでテーブル内容をソートして値を代入していったのですがうまくいきません。 よろしくお願いいたします。

  • Accessフォームの並び替えが出来ません。

    Access超初心者です。 仕事でリースの最終日と残回数をAcsessで表示させようとしています。 事前にテーブルで回数とリース開始日を入力しています。 フォームで、テキストボックス(非連結)を作成し、コントロールソースを =DateAdd("m",[回数]-2,[リース開始日]) と入力し、リース最終日を自動表示するようにしました。 フォームは表形式で作成です。 このリース最終日で並び替えをしようとすると、その部分だけフィルターがかかっているようで 選択することも出来ない状態で困っています。 どうすれば、並び替えが出来るようになるでしょうか? VBAも全くの素人です。 こんな私に詳しくお教えください。どうかよろしくお願いします。

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

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

  • Access SELECT INTO に関する質問です。

    Access SELECT INTO に関する質問です。 いつもお世話になっております。 Access 2002 VBAなのですが、 http://okwave.jp/qa/q4994969.html の内容にちなんだご質問です。 VBAで、SELECT INTO で作成したテーブルを そのままTransferSpreadsheetでExcelに吐き出したいと思っております。 しかし、TransferSpreadsheetでは引数にテーブル名しか指定できないため、 任意のソートがされていない状態でExcel出力されてしまいます。 なにか、任意のソートをした状態でExcel出力できる方法はありますか? TransferSpreadsheetでExcel出力した後、 Excel VBAコードを埋め込んで、Excelで並び替えを行うしかないのでしょうか? よろしくお願いいたします。

  • ACCESSの並び替え

    ACCESSのクエリでこんな並び替えはどのようにすれば 可能でしょうか? 階層 自ID 親ID ソート順 1 1 - 1 2 2 1 1 2 3 1 2 2 4 1 3 3 5 2 1 3 6 2 2 3 7 2 3 3 8 3 1 3 9 3 2 3 10 3 3 3 11 4 1 3 11 4 2 3 11 4 3 上記テーブルの 階層はツリー上の階層をあらわしています。 自IDは、自分のIDです。 親IDは、ひとつ上の階層のどのIDに紐付くかをあらわします。 ソート順は、同じ親IDを持つレコード内でのソート順です。 これを、まずは、 (1) 階層1の自ID1 (2) (1)に紐付く階層2のソート順1 (3) (2)に紐付く階層3のソート順1 (4) (3)に紐付くIDが存在しないので、(2)に紐付く階層3のソート順2 (5) (4)に紐付くIDが存在しないので、(2)に紐付く階層3のソート順3 (6) (5)に紐付くID無し、(2)に紐付くID無しなので、(1)に紐付く階層2のソート順2 (7) (6)に紐付く階層3のソート順1 ・・・・・ と言った感じで、下記のように並べ替えたいと思っています。 階層 自ID 親ID ソート順 1 1 - 1 2 2 1 1 3 5 2 1 3 6 2 2 3 7 2 3 2 3 1 2 3 8 3 1 3 9 3 2 3 10 3 3 2 4 1 3 3 11 4 1 3 11 4 2 3 11 4 3 実際には、階層が8まであり、ソート順も最大で30前後存在します。 どなたかご教授いただけると助かります。

  • ACCESS97のクエリーでデーターの並び替え

    お世話になります。 MS-ACCESS97のテーブル作成クエリーにて、データーの並び替えを試みているのですが、うまくいきません。 項目は下記のように並んでいます。 ----------------------------- コード1 | コード2 | 締日 | 請求額 | ------+------+------+--------| 105000 | 1000 |20030420| 50000 | 103000 | 0 |20030520| 30000 | 105000 | 1050 |20030420| 70000 | 103000 | 0 |20030420| 10000 | 105000 | 1000 |20030520| 20000 | 上記を下記のように、コード1の降順で、コード2の降順で、締日の降順に並び替えたいのですが、並び替えは列に対してひとつ?のみでしょうか? ----------------------------- コード1 | コード2 | 締日 | 請求額 | ------+------+------+--------| 103000 | 0 |20030420 | 10000 | 103000 | 0 |20030520 | 30000 | 105000 | 1000 |20030420| 50000 | 105000 | 1000 |20030520| 20000 | 105000 | 1050 |20030420| 70000 | お願いします。

  • ACCESSについて

    今、アクセスとVBAを勉強しています。 そこで今壁にぶつかっているのはどこまでACCESSのみで出来て 何が出来ないのかということがイマイチよくわかりません。 たとえば、1のテーブル、会員番号テーブルを作成します。 フォームより会員番号を入力して 同じフォームにある会員名を表示したい とする場合、アクセスのみの機能で出来ますか? データを連続して表示させる機能ではありません。 検索画面に検索ボタン作成しなくても可能ですか? 初歩の質問ですみません 詳しい方よろしくお願いいたします

  • Access リレーションのある項目並び替え

    一人で、初めてAccessに取り組んでいます。 相談できる人が周りに居ないので、助けてください。 2つのテーブルがあります。 テーブルデータA    ヘッダーID(オート)    グループ名    区分    文書名 テーブルデータB    区分ID(オート)    区分インデックス    部品名 テーブルデータA”区分”と、テーブルデータB”区分インデックス”が、リレーションシップで繋がっています。 テーブルデータAを、”区分”の昇順で並び替えをして、フォーム上で表示させたいのですが、 フォーム上で表示させる以前に、データシートビューで確認するも、並び替えが出来ません。 テーブルデータBをデータシートビューで表示すれば、”区分インデックス”順に並ぶのですが、 テーブルデータAをデータシートビューで表示すると、昇順も降順も変化なく、”区分”で並び替えができません。(バラバラの状態です) ちなみに、”区分”及び”区分インデックス”は、テキスト型12桁です。 リレーションシップが付いてる項目は、並び替えができないのでしょうか?

  • Accessボタンで並び替え

    ACCESS97を使用しています。 フォーム上のボタンで、並び替えを実行したいのです。 対象フォームは、あるデータ(テーブル名:AAA)の 項目BBと項目CCの条件を使って選択クエリーGG を元に 帳票フォームで表示しています。 フォームFFF上には、BBと CCの入力テキストBOX、BB,CCがあるととします。 BBとCCでフィルタをかける場合、 DoCmd.ApplyFilter "", "[GG]![BB] =[Forms]![FFF]![BB]" & _ "AND [GG]![CC]= [Forms]![FFF]![CC]" というマクロでフィルタ実行されたデータが表示されますが、 項目BB、CCで、昇順、降順にソートしたい場合、 そのようなマクロはあるのでしょうか? 宜しくお願いします。

  • Excelで、リストボックスの値によってVBAの記述を変えたい

    エクセルの表(データベース)を 並び替えるマクロを作っています。 コマンドボタンを押したらあらかじめ登録された 条件で並び替えされる、というところまではできました。 (ここでいう登録とは私が条件指定してVBAに記述したものです) そこで質問なのですが、ユーザーフォームの上で 並び替えの条件(優先順位・降順、昇順)をユーザーに 指定してもらい、ボタンを押したら並び替えされる、 というものを作りたいのですが可能でしょうか。 なぜこんな面倒なことをするかというと、 複数のユーザーが扱うデータベースで、 並び替えの操作を簡略化したいのと、 間違った操作によるデータベースの破壊を 防止したいからです。 まずユーザーフォーム上のリストボックスの中に 優先順位をかける項目を入れておき、それを3つ 作りました。(並び替えの条件が3つまであるので) 次に各リストボックスの横にラジオボタンを置き、 降順、昇順を指定できるようにする。 (ここで、ラジオボタンのどちらかしか選択できないように したいのですがその方法もわからないので教えてください) そして、それぞれの指定された結果でVBAの記述(値) を変えてコマンドボタンを押したら並び替えされる、 という風にしたいのです。(あくまでイメージですが) Selection.Sort Key1:=Range("A2"), Order1:=xlDescending, ・・・とつづく記述で 上の記述のRange("A2")と、xlDescendingの値を ユーザーフォーム上で選んだ結果によって 変更したい、ということなんですが、こんなことって 出来るものでしょうか。もしくは同じ様な事を 可能な書き方とかがあれば教えて頂きたいです。 よろしくお願いします。