• 締切済み

Access2007で名簿を作っています。

Access2007で名簿を作っています。 たとえば、性別をコンボボックスで入力できるようにし、クエリでもそれが「男」「女」で表示されているのですが、レポートを作ると、「1」「2」「3」…というような番号でしか表示されません。 どうすればちゃんと「男」「女」等と表示されるようになるか教えてください。

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

クエリによる表示と、コンボボックスの値を 取り出す方法は同じではありません。 レポートのレコードソースの性別を取り出すフィールドの 抽出条件に、 Forms!フォーム名!コンボボックス名.Column(1) としてください。 ここで、フォーム名はコンボボックスを表示している フォームの名前。Columnはコンボボックスの値集合ソースの 並びを示しています。したがって、番号、性別のように 値集合ソースがあれば、性別は二番目の値です。Column の引数は0から始まるので、この場合番号はColumn(0)で、 性別はColumn(1)ということになります。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

フォームでは性別「男」「女」で入力、としても テーブルには性別コード「1」「2」の値で保持されていませんか?。 コンボボックスのプロパティ「連結列」で どの値をレコードソースの値として連結させるか設定があったと思うので 確認してください。 ウィザードなんかでは、 「データベースに保存して後で使うことができます・・・・」 とかいう言い方してます。 コンボボックスが 1 男 2 女 とあって、 「1列目で連結」としたらテーブルには「1」や「2」、 「2列目で連結」としたらテーブルには「男」や「女」、で保持される。 前者にさせていると想定されます。 また、 レポートでは性別コード「1」「2」の値で、 ということならそのテーブルから出力されていると想定されます。 現在のレポートのレコードソースを元に選択クエリを作成し、 「男」「女」へ変換してやって、変換後の結果をレポートのレコードソースとします。 >クエリでもそれが「男」「女」で表示されている これをそのままレポートのレコードソースにしても問題ないならそれで良いです。 性別テーブルを用意して考えるのが一番無難と思います。 あちこちに変換ロジックが存在するのは品質上良くないです。

関連するQ&A