• ベストアンサー

ACCESSの並び替え

初めてAccessでデータ作成をしています。 人事データなのですが、全社員を「部長・課長・主任」等役職別に自分の希望通りの順にクエリで並べ替えしたいのです。リレーションシップ??とか設定しようとしてみたんですけど、うまく出来ません。 過去の質問を見てみましたが、理解出来ませんでした(;_;) すみませんが超初心者の私にどなたか教えて下さい。。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>役職名も入力済みなんです それでしたら逆に帳票フォームやデータシート型のフォームだったらレコードソースで人事データの役職名と役職テーブルの役職名同士をリレーションして役職CDを追加すれば出来ると思います。SQLスタートメントで一番左に役職CDのフィールドを追加して昇順に並び替えすればフォーム上で役職CD順に並ぶと思うのですが。 フォーム上に無くてもフォームの元になるクエリやSQLスタートメント上で並び替えすればフォームはその順に表示されます。 試してみてください。以上です。

fuji1228
質問者

お礼

たった今出来ました!! マンツーマンのご指導ありがとうございました。まだまだ完成にはほど遠いですがコツコツやっていこうと思いますので、また何かありましたらよろしくお願いします。 本当にありがとうございました。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>画面に「課長」と入力すればコードが「4」って自動に出るようにしたいです 通常から言えば人事データの中に役職CDだけを持たせ役職名は役職テーブルからクエリなどで表示するようにすれば良いと思います。なので例えば・・ 【人事データ】 社員ID 社員名 所属部署 役職CD 年齢 ・・ のようにデータは持つようにしてクエリで人事データの役職CDと役職テーブルの役職CDをリレーションして人事データに役職名のフィールドを追加して表示するようにすれば役職名は役職テーブルから持ってこれます。 そのクエリをフォームのレコードソースにすれば良いのですが。それで役職名のフィールドをフォームに追加すれば役職CDに4と入力すれば役職名に課長と表示されます。 役職名を入力するよりCDの数字を入力する方が簡単ですよね。だから人事データに役職CDを持たせた方が簡単です。 もう人事データのフォームを作ってあるのでしたらフォームのプロパティを開きレコードソースの欄の右にあるボタンをクリックすればSQLスタートメント(クエリと同様です)が開きます。そのSQLスタートメントに役職テーブルを追加して人事データの役職CDと役職テーブルの役職CDをつなぎ人事データ全てと役職テーブルの同一レコードでリレーションして人事データの全てのフィールドと役職テーブルの役職名のフィールドを追加して閉じます。 フォームに役職名のテキストボックスのフィールドを追加すれば役職CDに4と入力すれば役職名フィールドに課長と表示されます。 その辺はコンボボックスを使用しても出来ますよ。 試してみてください。

fuji1228
質問者

お礼

何度も回答本当にありがとうございます。 ずーっと考えているんですけど、出来ないです(T_T)すでに人事データのフォームも作って役職名も入力済みなんですが、役職順に並べる必要性に気づき、今に至ってます・・・。 一応役職別に並んだんですけど、CDの昇順には並んでくれないでです。フォームに役職CDのフィールドを設けなくては駄目ですか?役職数が30個越えるので数字を把握しきれそうにないんです。 O cyanさんには申し訳なく思っています。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

役職テーブルがあれば簡単ですよ。 例えば CD 役職名 1 社長 2 専務 3 部長 4 課長 5 主任 として人事のデータに役職のCDがあればそのコードの順に並べれば出来ます。 人事データに役職CDのフィールドを作ってCDの番号を入れて役職名は役職テーブルから持ってくるようにすれば良いと思います。 リレーションはクエリ上で出来ますから人事データの全てのレコードと役職テーブルのレコードを含むように結合すれば出来ます。

fuji1228
質問者

お礼

早速の回答ありがとうございます。 役職コードのテーブルを作ってみました。「役職名は役職テーブルから持ってくる」っていうのはどうすればいいのでしょうか。。画面に「課長」と入力すればコードが「4」って自動に出るようにしたいです。←見当違いな事言ってたらすみません!

関連するQ&A