- ベストアンサー
Accessのフォームの並び替えを、特定の並び方に指定したい。
商品管理データベースを作っているものです。 主なテーブルのフィールドは、商品名、サイズ、単価などです。 そこでですが、帳票フォームで一覧で見れるようにしてありますが、サイズの並び替え表示をしたいと思ってます。 基本的には、L,M,Sとありますが、普通に昇順ですと、L,M,Sですが、S,M,Lの順になるようにしたいです。 なにか設定があったと思うのですが、設定の仕方を忘れてしまいました。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
一番手っ取り早いのはフィールドをもう一個作って SMLに合わせ、123と数字を入れるか、サイズテーブルを別に作って、クエリーでリンクするかだと思います。 個人的には後者のサイズテーブルを別に作った方が、サイズ種類が増えたり、既存のテーブル(件数にもよりますが)を直す手間が少なく良いかと思いますが。
その他の回答 (4)
> ちなみにそれ(結合)でやってみましたが、できませんでした。 単に結合しただけでは、並べ替えは出来ません。 元テーブルのサイズフィールドにどのようなデータが入っているかにもよります。 もし、サイズ名(S,L,Mなど)が入っているのなら、結合したサイズテーブルのサイズ番号で並べ替えます。 ただしサイズ番号が単なる番号で、並べ替えの順に沿っていない場合(ただ入力した順番が入っているなど)は サイズテーブルに別途並び替え用の数字を入れるフィールドを作成しておき、 この順番で並び替える必要があります。 私なら、 1.元テーブルのサイズ・フィールドにはサイズIDを入れるようにする 2.サイズ・テーブルには、サイズID、サイズ名称、並替番号をセットする 並替番号は多少間隔を開けた番号にしておく(1,3.5など) 3.データ入力時はコンボボックス等でサイズ・テーブルからサイズ名称を選択することにより、サイズIDが自動的に入るようにする。 「S、M、L」など文字を直接入れるようにしてしまうと、入力者によって入力内容が異なってしまう(s,S,s(全角),S(全角)など) 要はエンドユーザー(質問者さんも含めて)を信用しないこと。 4.一覧を見るときは、元テーブルとサイズ・テーブルをサイズIDで結合し、並替番号で並び替える。 でしょうか。
- tetsu7777
- ベストアンサー率100% (1/1)
>クエリ上で、商品テーブルのサイズ名と、サイズテーブルのサイズ名をドラッグしてつなげる、(テーブルとテーブルのフィールドを線でつなげる。結合プロパティ?でしょうか?)だけでいいのでしょうか? ちなみにそれでやってみましたが、できませんでした。 出来ない理由は2つ考えられます。 1)【フィールドの定義違いまたは大文字小文字違い】 テキスト・数値等違ってるとリンク出来ません。 今回の場合サイズ名なので定義違いは考えにくいので 大文字・小文字・全角・半角等違ってませんか? 2)【リンクの大小の設定】 今回のテーブルを仮に商品テーブルとサイズテーブルと2つの名前とすると、商品テーブルにあってサイズテーブルに無い物がある場合、リンクの関係を商品>サイズの関係にしないと、リンク不十分で何も表示されません。 (文章で表現しづらいですが、リンクが線では無く矢印になった状態にする必要があります。)
まあ、サイズなんて判ればいい訳ですので・・・。 1: SSS 2: SS 3: S 4: M 5: L 6: LL 7: LLL と、サイズデータをのものを N: XXX 形式にする。 コンボボックス等もテンキーで選択できるという利便性があります。 *基本は、サイズテーブルを用意し<並び順>という列を用意する。 *私は、大抵のテーブルに<並び順>を持たせています。 * N: XXX 形式の登録スタイルも<テンキー選択>を重視しているので併用しています。
- funaho
- ベストアンサー率58% (43/74)
降順に並べかえればいいのいでは。 やり方 フィールドを右クリックで「降順に並べ替え」を選択。
補足
tetsu7777さん。早速の回答ありがとうございます。 サイズテーブルは元々つくってあったので、クエリでリンクする方法でやろうと思うのですが、リンクというのがいまいちわかりません。 クエリ上で、商品テーブルのサイズ名と、サイズテーブルのサイズ名をドラッグしてつなげる、(テーブルとテーブルのフィールドを線でつなげる。結合プロパティ?でしょうか?)だけでいいのでしょうか? ちなみにそれでやってみましたが、できませんでした。 なにかやりかたが違うのでしょうか? 知識が乏しくて申し訳ないですが、よろしくお願いいたします。