• ベストアンサー

Accessのフォームでリストボックスをソートしたい。

Accessのフォームで、検索結果をリストボックスに一覧で表示させています。 現時点では登録順に表示されてしまうので、最初の列(名称1)もしくは各列ごとにコマンドボタンなどでソートをかけたいです。 もしくは、ソートをかけた状態で表示させる方法でも良いです。 この様にリスト表示させています。 Me.一覧.RowSource = " SELECT [テーブル1].[ID], [ネジ].[名称1], [ネジ].[名称2] FROM テーブル1 WHERE ((([テーブル1].[名称1] & [名称2]) Like '*" & 名称1 & "*')); " 初心者です。マクロ以外で何か良い方法が有りましたらご教授願います。

  • mmac
  • お礼率94% (64/68)

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

  • ベストアンサー
  • tkrn
  • ベストアンサー率53% (33/62)
回答No.1

試していませんが、これでどうでしょうか? ○[ネジ].[名称1]の昇順 Me.一覧.RowSource = " SELECT [テーブル1].[ID], [ネジ].[名称1], [ネジ].[名称2] FROM テーブル1 WHERE ((([テーブル1].[名称1] & [名称2]) Like '*" & 名称1 & "*')) ORDER BY [ネジ].[名称1] ASC; " ○[ネジ].[名称1]の降順 Me.一覧.RowSource = " SELECT [テーブル1].[ID], [ネジ].[名称1], [ネジ].[名称2] FROM テーブル1 WHERE ((([テーブル1].[名称1] & [名称2]) Like '*" & 名称1 & "*')) ORDER BY [ネジ].[名称1] DESC; "

mmac
質問者

お礼

有難う御座います。 ORDER BYの使い方が分からなかったので助かりました。

その他の回答 (1)

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.2

ORDER BY句を利用してみては?

mmac
質問者

お礼

有難うございます。ORDER BYで出来ました。

関連するQ&A

  • accessのリストボックスでデータをソートして表示する

    いつもお世話になっております。 Accessを使っております。 リストボックスに下記コードでデータを表示して います。 Me.lstA.RowSource = "SELECT 月 FROM 入金表 ORDER BY 月" 「月」はString列なのですが、ソートして表示すると ----------------------------  10  11  1  3  6  7 ---------------------------- と表示されます。これを ----------------------------  1  3  6  7  10  11 ---------------------------- と表示させたいのですが、何かいい方法はないで しょうか? よろしくお願いいたします。

  • リストボックスの使い方

    お世話になります。 VBAで下記コードを書き、リストボックスにカラムを2列 表示させたいのですが、"番号"しかリストボックスに 表示されません。 Me.lst入居者一覧.ColumnCount = 2 Me.lst入居者一覧.RowSource = "SELECT 氏名,番号 FROM 一覧" Me.lst入居者一覧.ColumnWidths = "2;2" リストボックスのプロパティー等はちゃんと設定して いるつもりなのですが、何が原因なのでしょう? どうかよろしくお願いいたします。

  • accessのリストボックスのヘッダーについて

    度々お世話になっております。 ACCESSのリストボックスを使って、下記のようにして テーブルのデータを表示しております。 lstデータ.rowsource = "SELECT A.[1], A.[2], B.[1] FROM A LEFT JOIN B ON (A.[3] = B.iNum) AND (A.[5] = B.[5]) AND (A.[4] = B.[4])" ここでリストボックスの見出し(ヘッダー)も表示して いるのですが例えば1列目なら「A.[1]」と表示されて しまいます。 これを「[1]」とだけ表示させたいのですが、 何か方法があるでしょうか? 度々で恐縮なのですが、どうかよろしく お願いいたします。

  • アクセス(ACCESS)のリストボックスについて

    アクセスでフォームにテキストボックスとリストボックスを配置して、 テキストボックスに入力した文字列により、リストボックスに表示される データを変えたいのですが(フィルタをかけるというのでしょうか??) そこで、vbaを用い、リストボックスのプロパティの値集合ソースに SELECT * FROM aaa where aaa.bbb like "*あ*"; 'あ と言う文字のあいまい検索のつもり ”あ”はテキストボックス    に入力されている。 と入るような事を考えたのですが、ここで、aaaの部分がテーブルを基にした 場合は、該当するデータすべてが表示されますが、クエリーを基にすると 先頭のデータしか表示しないのです。 たぶん、素人の考えなのでしょうが、どうしてそうなるのかが分かりません。 教えていただけないでしょうか? できたら、クエリーを基にしても、該当データが表示できる方法も 教えてください。お願いします。 VBAは(?)かなりの初心者です。上記の方法も本に書いてあった物を やっと流用しました。猿にも解るくらいでお願いします。 ちなみに、アクセスは2000を使用しています。

  • 構造体のリストをソートしたい。

    ある名簿のリストを作りました。 以下のような構造体で、 typedef struct meibo{ char name[10]; int old; struct meibo *next; }MEIBO; これを、ポインタp->next->nameをたどっていって、名前が辞書順になるようにリストを作ったのですが、 これを年齢順にソートして表示させたいんです。 どんな方法があるんでしょうか? 一旦すべてを配列に格納して、クイックソート…とかも考えたのですが、すごく領域をとるし、なんか2度手間(最初から配列に順に格納していけばよかったなぁ・・・と。 それでもやっぱり最初から名列順にするときから配列に入れておくほうがいいのでしょうか? 教えてください。 (最初から年齢を比較してリストを作れば・・ってのはなしで、名列順のリストが存在するものとしてください。)

  • [Access2013]リストボックスの値指定

    以下の様な事をしたいと思っていますが上手く行きません。 上手くいく方法はありますでしょうか? テーブル1 id 名称 →列名 1 みかん 2 りんご 30 トマト 上記の様なテーブルがありそれをフォーム上に配置したリストボックス(複数選択可)の値集合ソースにしています。 リストボックスから入力した値は、みかんのみを選択した場合は「1」、みかんとりんごを選択した場合は「1;2」とDBに保存しています。 (この部分は想定通りの動きをしています。) 入力用フォーム以外に、別フォームのデータシートビューで一覧表示をしています。 そこで上記リストボックス値でDBに入っている「1」や「1;2」を「みかん」や「みかん;りんご」と表示したいと思っています。 データシートビューにもリストボックスを配置し、値集合ソースは入力フォームと同じテーブル1に、コントロールソースを「1;2」が入っているフィールドにしましたが、「1」のみの場合は選択状態で表示されますが、「1;2」の場合未選択になってしまいます。 やりたいことは、ここで入力をするつもりはありませんのでただ文字列として「みかん;りんご」が出てくればいいです。 ただ、一々フォームロードなどでSQL文(+ループ処理)を書くと件数が数万件は少なくともあるのでロード時の待ちが長くなりそうです。 また、リンクテーブルマネージャで外部DBと接続しているので、テーブル定義をAccess独特のものに変更するのは難しいです。 idは自然増加に任せており桁数はまちまち、複数選択の個数も1~数十と様々です。 質問内容 ・リストボックスのコントロールソースにて複数値を指定する方法はありますか?(そもそもとして、そういうことが出来ないものなのでしょうか? また,区切りに変更、splitで配列化等はすでに行って駄目でした。) ・処理時間に影響が少ない方法で「みかん;りんご」とデータシートビューに表示する方法はありますでしょうか? ・例えばリストボックスを使用せずテキストボックス等に変更してコントロールソースでselect 名称 from テーブル1 where id in Replace("1;2",";",",")の様な事をした結果複数件出た場合は区切り文字で区切って全部出す等を可能なのでしょうか? よろしくお願いいたします。

  • 検索後のソートについて

    PHP、MySQL、初心者なのですが、現在検索アプリの作成にチャレンジしておる者です。 こちらの過去ログを参考にさせていただいたのですが、どうしても検索後のソートがうまくいきません。 一度検索されたものに対するソートについて http://oshiete1.goo.ne.jp/kotaeru.php3?q=1482358 上記の過去ログを参考に、「create temporary table tmp」の箇所を 自分のサイトに置き換えて試してみたのですがうまくソートができず、 ついに力尽きてしまいました。 静的に表示させた場合、表示された表のヘッダ部分(各名称)をクリックすると、 表示されたものはソートできるようにはなったのですが... $sql = "SELECT * FROM perfume where shohin_name like '%$word%' "; 通常は上記のように検索フォームに入力した語句(変数(word))を受け取って表示させています。 過去ログを参考に $sql = "create temporary table tmp SELECT * FROM perfume where shohin_name like '%$word%' "; としては見たのですがうまくいきません。 どなたか正しいスクリプトの書き方を教えていただけないでしょうか? ご教授、宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • 検索結果の並び替え

    SQL,ASPでショッピングサイトの様な物を作っています。 アイテムテーブルには、”Title"と”Price" があります。 商品をキーワードで検索した結果を、 strSQL="select * from item where Title like '%"&request.querystring("keyword")&"%'" として、結果を表示した所に、その結果を”値段”をクリックしただけで、安い順に並び替えたいのですが、 strSQL="select * from classifieds where Title like '%"&request.querystring("keyword")&"%' order by price" とすれば、値段順に表示されることはできるのですが、 ”値段”をクリックしたときだけ、安い順に表示する様にしようと思っています。 (説明がうまくできませんが、Yahooショッピングで検索すると、結果が表示されその右上に”ソート順: 商品順 | 安い順 | 高い順”となっていて、クリックするとソートされるようになっていますよね。それと同じようにしたいのです。) アドバイス、よろしくお願いします。

  • SELECT項目以外でソートする場合

    お世話様です。 Access2003 VBAで、クエリ結果をフォーム上のリストボックスに表示する際、 リストボックスに出力しない項目(SELECT項目に含まれていない項目)で ソートはかけられるのでしょうか? 例:リストA.RowSource = SELECT 項目1, 項目2, 項目3 FROM テーブル名 ORDER BY 項目4   の様な事がしたいのです。 現段階では調べきれていないため、 出力したくない項目の幅をソース上でゼロにし、 擬似的に非表示にする事で回避しています。 SQL文法の問題になってしまうかもしれませんが、 よろしくお願いいたします。

  • VBAのリストボックスについて

     今、ユーザーフォームをつくり、その中にリストボックスを配置したんですけど、セルに入力されている値を表示したいと思い、RowSourceプロパティに"sheets1!A1:C100"と指定しました。しかし、実際リストボックスに表示されたのは先頭のA列だけで、B、C列は表示されませんでした。どうしたらこれらは表示できるのでしょうか。もとの参照データが膨大な為、よろしくお願いします。

専門家に質問してみよう