アクセスのテーブルの中に「支店名」というのを作ってあって、
ナンバーはオートナンバーで、1から21まで支店名が入っています。
これを並べ替えしたいのです。フォームでは支店名をプルダウンで選べるように
設定したのですが、その支店の並び順がイマイチ使いにくいので
替えようとおもったんですが・・・
オートナンバーなのでナンバーは変えられないですよね?
ナンバーがそのままで並べ替えはできますでしょうか?
出来るようであれば、どのようにすればいいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

ORDER BYのBYを付けるのを忘れていました。



SELECT 支店名.ID1, 支店名.支店, 支店名.ソートキー FROM 支店名 ORDER BY 支店名.ソートキー;
で問題なく私の方はリストは表示されます。
ソートも問題ないようですので、駄目でしたらプルダウンリストのプロパティの値を示して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます!!!
出来ました!!!
最初、上にご記入いただいたのをコピペしたんですけど、
順番がばらばらになったので、何でだろう?とおもって、
支店名テーブルのソートキーの内容を再度確認したらテキスト型になってました(汗)数値型に直したらきちんと希望通りに並べ替えができました♪
これで他の並べ替えをしたかったプルダウンの内容も変更することができます♪
ほんとにほんとにありがとうございました♪
また、何か質問した際にはよろしくお願いいたしますm(_ _)m

お礼日時:2001/04/09 17:45

値集合キーが


SELECT [支店名].[ID1], [支店名].[支店] FROM [支店名] ORDER [支店名].[ソートキー];
で駄目ですか?カットアンドペーストして下さい。
    • good
    • 0

再度登場のyanmaaです。

一部間違っていたので修正します。
AUTONO、支店名、ソートキーと言うテーブルがあると仮定します。テーブル名:支店マスタ
この時プルダウンリストの値集合ソースに下記のような設定をします。
SELECT 支店マスタ.支店名 FROM 支店マスタ ORDER 支店マスタ.ソートキー;

支店マスタ内のデータは
AUTONO支店名ソートキー
1あいう3
2かきく1
3さしす2
4たちつ4
とする。
こうすればソートキーの値の小さい順に並びます。
    • good
    • 0
この回答へのお礼

何度もありがとうございます。
で、ごめんなさい(涙)おっしゃる通りにプルダウンのところのプロパティの
値集合ソースに入れてみたんですけど、プルダウンの中が真っ白になっちゃったんです(涙)
で、元々入ってた設定ですが、
ID1、支店、ソートキーと言うテーブルでテーブル名が、支店名。
値集合ソースに入ってた設定
SELECT DISTINCTROW [支店名].[ID1], [支店名].[支店] FROM [支店名];
です。
これのID1というところを「ソースキー」ってやってみたら当然順番バラバラになりますよね?
どぉすればよいのでしょう(涙)
ほんとに何度も申し訳ございませんが、ご享受ねがいますm(_ _)m

お礼日時:2001/04/09 15:49

テーブル「支店名」にもう1つ「SORTORDER」という


フィールドを追加し、プルダウン表示時に
ORDER BY SORTORDERの条件を付加します。
    • good
    • 0
この回答へのお礼

ありがとうございます。「SORTORDER」をソートキーと言う名前にして、
ただいま奮闘しております(汗)値集合ソースのところでつまづいておりますが、
頑張ります。ありがとうございました。

お礼日時:2001/04/09 17:13

1.「支店名」のテーブルにソートキーをというフィールドを追加して下さい。


2.その後、クエリーでソートキーを元に並びを変えてください。(昇順)

ソートキーは数値で良いでしょう。
並び順に小さい値を入れましょう。

3.あとはプルダウンリストのコントロールソースを2のクエリーを選択すればいいです。

ソートキーは読み仮名でもいいとは思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
で、ソートキーを作って並べ替えをしてみたんですが、
最初にふってあるオートナンバーと合わせて並べ替えになってしまって
バラバラになってしまいます(T_T)
どのようにすれば、ソートキーの数字メインで並べ替えが出来るのでしょうか?
もしよろしければ、再度ご享受くださいませ。
よろしくお願いします。

お礼日時:2001/04/09 13:26

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESSのようなオートナンバー

EXCELの質問なんですが、ACCESSのようなオートナンバーは可能なんでしょうか?

   A     B
1|管理番号   船番
2| 1    第1船
3| 2    第2船
4| 3    第3船
5| 4    第1船



例えばBの縦の列に船番という列があって、この番号は年度管理 で、4/1から第1船という風にカウントされていき、年度が終わるとリセットされ翌年度から、また第1船となります。
で、質問はAの縦の列に、年度は関係なくカウントされていくオートナンバーみたいな関数ってあるのでしょうか?

わかりにくい質問ですが、頭の良い方お願いします。


Bの列に番号を入力するとAの列に自動的に入力されるというのが希望です。

Aベストアンサー

これではいかがでしょうか
3行目(A3)から関数を入れます。A2にはあらかじめ「1」が入っているとします。
A3に =IF(B3<>"",A2+1,"")

QACCESS2000のオートナンバー型について

OSはWIN98です。ACCESS2000です。

ACCESS2000にてテーブルの主キーのフィールド(追番)に
オートナンバー型を設定しました。

テーブルにデータを仮に100書きこんだとします。
その後に、その100個のデータを削除します。

そして、削除された後の最初のレコードにデータを
書きこもうとすると追番のフィールドが "101" に

なってしまいます。新たに書きこむ時に追番を "1"
にすることはできないでしょうか?

皆様よろしくお願いします。

Aベストアンサー

レコードを削除後、そのテーブルが含まれるデータベースを最適化すれば初期値の1から始まります。

QAccessのオートナンバー型について

Accessのオートナンバー型についての質問です。

ある項目をオートナンバー型にしているのですが、
何かの拍子で番号が変化してしまったようです。
たとえば当初は4の番号が7に変わったというようにです。

このようなことはよくあるものなのでしょうか。
これを防ぐ手立てなどありますでしょうか。

Aベストアンサー

変わったのだとしたら更新クエリかVBAか手作業で変更(削除)したのでしょう。

下記を確認してください。
「オートナンバー型のデータを連続番号に再設定する方法」
http://support.microsoft.com/kb/881386/ja
「オートナンバー型のデータを特定の数字から開始する方法」
http://support.microsoft.com/kb/881387/ja

Qアクセスのオートナンバーについて

アクセス2000で販売管理を作成しています。
顧客マスター処理で顧客番号をオートナンバーに設定しているのですが顧客データ入力フォームに中止するボタンを用意して、押されると入力中のデータは保存されないようにしています。(コマンドボタンウイザードでレコードを元に戻す)を使用
これで、中止を押して再度登録するとオートナンバーが
1つ飛んでしまいます。
例 顧客番号3で入力中中止ボタン押下後、再度新規登録すると顧客番号が5になってしまう。
これを無くす方法(4になるように)はありますでしょうか?
それと欲張りで大変申し訳ないのですが、
コンボボックスにキーボードからの入力をさせないようにする方法はありますか?
どうぞよろしくお願い致します。

Aベストアンサー

> 例 顧客番号3で入力中中止ボタン押下後、
> 再度新規登録すると顧客番号が5になってしまう。
> これを無くす方法(4になるように)はありますでしょうか?


基本的にはありませんが、たとえば顧客番号3で中止して、再度新規登録する前に 「最適化」をすると4からはじめられる場合があります。

ただこれもOSやその他の状況(Jetエンジンのバージョン等)によって違うみたいですので、100%の解決策ではありません。また、最適化意外に直接的な解決策はありません。(連番が主キーの場合は。)

一番いいのはオートナンバーを使わずに、プログラムでオートナンバーを作る方法です。

フォームの挿入前イベントなどに、DMAX関数を使ってインクメント(+1ずつふやす)する方法などです。

If DCount("*","フォームのソースとなるテーブル名") = 0 Then

Me!連番フィールドと連結するテキストボックス名 = 1

Else

Me!連番フィールドと連結するテキストボックス名 =DMax("連番フィールド名","フォームのソースとなるテーブル名")

End If

みたいな感じで。

オートナンバー型の値を連番フィールドや主キーなんかにしたりするとあとあと困ることが多いですので、できればオートナンバーは使わないほうが良いかと思います。
メンテの楽なデータベースを作る基本が「オートナンバーを使わない」ということです。マイクロソフトはなんでこんな使えないオートナンバーを放置しておくのか不思議でたまりませんが・・・

そのほか、連番テキストボックスの「既定値」に、

=DMax("連番フィールド名","フォームのソースとなるテーブル名")

などと書いても良いと思います。
ただしこの場合はテーブルにレコードが1つも無い場合に最初の値を入れられないので、最初だけ1を入れておくか、IIF関数なども使うといいかもしれません。

僕は、フォームの挿入前イベントに前述のようなプログラムコードを書くのが一番好きです。

> 例 顧客番号3で入力中中止ボタン押下後、
> 再度新規登録すると顧客番号が5になってしまう。
> これを無くす方法(4になるように)はありますでしょうか?


基本的にはありませんが、たとえば顧客番号3で中止して、再度新規登録する前に 「最適化」をすると4からはじめられる場合があります。

ただこれもOSやその他の状況(Jetエンジンのバージョン等)によって違うみたいですので、100%の解決策ではありません。また、最適化意外に直接的な解決策はありません。(連番が主キーの場合は。)

...続きを読む

QAccess 店コード、オートナンバー順に連番の追加

Accessで店コード、オートナンバー順に番号を振り
クロス集計クエリで列を直したいのですが、関数で簡単に
連番を振ることは可能でしょうか?
現在、備考枠を以下のようなテーブルで持っています。
店コード、オートNO、備考、
1_23_xxx
1_50_ccc
1_60_vvv
2_24_ddd
2_51_fff
2_61_eee
これに対して、以下のような連番を付けたいです。
店コード、オートNO、備考、連番
1_23_xxx_1
1_50_ccc_2
1_60_vvv_3
2_24_ddd_1
2_51_fff_2
2_61_eee_3

Aベストアンサー

>関数で簡単に連番を振ることは可能でしょうか?

連番: DCount("*","テーブル名","店コード=" & [店コード] & " and オートNO<=" & [オートNO])


人気Q&Aランキング

おすすめ情報