2015年1月22日パーマリンク返信Accessで値を選択データベースでは、あるフィールドに自由な文字列ではなく、いくつかの選択肢から選ばせるようにしたいことが多々あります。発注伝票の発注先を既存の取引先から選ぶようなケースです。発注先を取引先の名称から選ぶようにすることになります。テーブルを作るのも馬鹿らしく思えます。Accessではそういう簡易的な選択が容易にできるようになっています。先に登録した選択肢から1つを選べるようになります。このときこのフィールドはテキスト型に設定されます。これだけだとフォームからはフリー入力になってしまうため、フォームのほうでも設定する必要があります。ウィザード]が立ち上がります。そこで[表示する値をここで指定する]を選択し、テーブルのときと同じように選択肢を登録して、[次のフィールドに保存する]で先のフィールドを指定すれば完了です。フォーム経由でもそのフィールドを変更しても、テーブルに反映されます。予期せぬ文字列が入る可能性はあります。以上のようなことで簡易に選択肢を設けることはできますが、そのフィールドの文字数が多いと冗長でデータベースのサイズをむやみに大きくしてしまいます。文字数が1〜2文字ならデータサイズ的には問題ないでしょうが、これはつまり第1正規化さえされていない、エンジニアからすると非常に気持ち悪いデータベースということになります。なればやっぱり選択肢のテーブルを作るのがよいことになります。第2フィールドをテキスト型にして第2フィールドに選択肢を登録します。上記と同様のことを第3正規化(他の事情が整っていれば)できます。私ならやっぱり第3正規化はしておきたいですね。新しいコメントがついたらメールで通知。キャンセル%d人のブロガーが「いいね」をつけました。