• ベストアンサー

ACCESSのコントロールソースで

ACCESS2000を使用しています。 テーブルのフィールドに性別が男性は1、女性は2で入力されているのですが、フォームでデータを表示する際に、1なら男性、2なら女性という風に表示することは出来るのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.4

k_ebaさんのやり方でできなかったのは、IIf関数で自己参照しているからだと思います。 [性別]テキストボックスのコントロールソースを元に戻した上で非表示にし (「可視」プロパティを「いいえ」にし)、あらためてk_ebaさんの書かれたような テキストボックスを別に作れば大丈夫だと思います。 試していないので「自信なし」にしておきます。

koichi_
質問者

お礼

回答ありがとうございます。 言われている方法で表示出来ました。 理由がわかれば納得出来るんですが、1人じゃずっと原因がわからなかったと思います。 とても助かりました。

その他の回答 (4)

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.5

再登場  1.フォームで性別と性(新規)を作成   フォーム→デザイン→ツールボックス→テキストボックス→   次へ→次へ→性→完了  2.性のプロパティ変更   コントロールソース→=IIF([性別]=”1”,”男性”,”女性”)  3.性別の非表示   可視→いいえ こんなもんでどうでしょう。 何かあれば補足して下さい。

koichi_
質問者

お礼

2度目の回答ありがとうございます。 やっと解決しました。 勉強になります。 ありがとうございました。

  • yoisho
  • ベストアンサー率64% (331/516)
回答No.3

フォームの性別の表示欄をテキストボックスではなくコンボボックスにするのも、一つの方法かと思います。 コントロールの種類をコンボボックスに変更して、 集合値タイプを「値リスト」、集合値ソースを「1;男性;2;女性」とし、書式の列数を「2」、列幅を「0(ゼロ)cm」としてみてください。

回答No.2

御疲れ様です <オプショングループを使用する方法> ラベル:「男性」 オプション値:1 ラベル:「女性」 オプション値:2 オプショングループのコントロールソースに「性別」を設定 <コンボボックスを使用する方法> コントロールソースに「性別」を設定 値集合タイプを「値リスト」に設定 値集合ソースに「1;"男性";2;"女性"」を設定 列数を「2」に設定 列幅を「0cm」に設定 どちらかお好みの方法で実現できると思います

koichi_
質問者

お礼

回答ありがとうございます。 コンボボックスを使用しても出来ました。 アクセスはほとんど経験がないので、とても勉強になりました。

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.1

アクセスのフォームのテキストボックスのコントロールソースを [性別] ↓ =IIF([性別]=”1”,”男性”,”女性”) です 但し 性別はテキスト型という前提です もし上記で出来なければ クエリーでテーブルを全て追加して最後に 性:IIF([性別]=”1”,”男性”,”女性”) として下さい 何かあれば補足して下さい。

参考URL:
http://www.mahoutsukaino.com/,http://www.accessclub.jp/
koichi_
質問者

補足

早速の回答ありがとうございます。 上のIIF文はテキスト型にしてやってみたのですが、「#Error」表示されてしまいました。 下記の方法はとらずに行いたいのですが、無理なのでしょうか。。。 IIF文が使えないのはきついですよね (T_T)

関連するQ&A

  • oracle8に接続、Access97での質問

    oracleのテーブルのフィールドには日付がありまして、このフィールドにはデータとして200010と入っています。これをAccess97のフォーム上で読み込んだときは2000/10という風に表示させたいのですがどうすればいいのですか?反対にAccess97のフォーム上に2000/10(定型入力で9999\/99;0、書式でyyyy/mm)と入力して登録ボタンをクリックしたときolacleのテーブルに200010という風にデータを格納したいのですがどうか教えてください。よろしくお願いします。

  • Access2003 コントロールの(?)エラーメッセージ

    Access2003 コントロールの(?)エラーメッセージ excelからインポートしたデータでテーブルを作り、そこから、今後もデータを増やしていけるようにフォームを作ろうとしています。 まず、オートフォームでフォームを作りました。 データの中に「カテゴリー」を表示するフィールドがあり、そこはフォーム入力時にプルダウンで選んで登録できるように、コンボボックスを使ってカテゴリーフィールド(コントロール)を作りなおしたところ、「例えば数値型のフィールドに文字列を挿入しようとした」というようなエラーメッセージが出ます。 このフィールドは元からテキスト値が入っていたところで、プルダウンで選べるようにしたカテゴリーリストのテーブルの方もテキスト値で入力しています。 なので、このエラーメッセージが「例えば」と言っているのと全く同じエラー(数値型のフィールドにテキスト値を入れる)がでているわけではないとは思うのですが、他に何が悪のいかがわかりません。 どこをどうしたらいいのでしょうか?

  • ACCESSにおいてコントロールソースのフィールド値に関数を適用するには?

    フォームに表形式のフィールドを表示しています。 フィールドのコントロールソースへテーブルのフィールド値を設定しています。 ここに関数を適用する方法を教えてください。 例えば、aテーブルにbというフィールドあったときフォームにright(b,10)の状態で表示させたいです。 環境はACCESS2000です。 宜しくお願い致します。

  • ACCESS DTPickerコントロールで日付のみ入力

     DTPickerコントロールをフォームに配置して、日付を入力しているのですが、テーブルには自動的に時間も一緒に入力されてしまいます。これを日付のみの入力にできないでしょうか? DTPickerにはCustomFormatでyyy/MM/ddとしております。  入力に使用しているテーブルの日付フィールドの書式は「日付(S)」を使用しています。データシートビューで確認すると、普通に「2006/06/23」というふうに表示されていますが、カーソルを置くと「2006/06/23 8:30:31」と表示されます。  Between A and B で抽出の際にどうもこの時刻の部分にひっかかるのか、Bの1日前までしか抽出してくれません。  きっと単純なことだとは思うのですが、どうしても解らず質問させていただきました。 何卒、よろしくお願いします。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • アクセス作成について

     アクセスについて質問します。  フォームで入力する場合で、例えばテーブルのレコードを100までとし、101を超えた場合またレコード1にデータを入力することは可能でしょうか。 テーブル フィールド1 フィールド2  1       6  2       8   .      .   .      . 100       55 フィールド1は固定し、フィールド2にデータを入力していき101番目にデータを入力する時はまた1行目の6を上書きしてデータを更新していくようなことは可能でしょうか。(もちろんフィールド1、フィールド2を別テーブルとしクエリーを活用することでもok) アクセス初心者です。よろしくおねがいします。

  • Accessフォームのコントロールソースについて

    こんにちは。お世話になります。 分からないので押していただけると助かります。 Accessのフォームでテキストボックスに表示するデータについて何ですが、 テーブルT1の項目名[住所]が、Nullの時に、[電話番号]を表示する形にしたいのですが、 コントロールソースに =IIF([ID]is null ,[仮ID],[住所] =Nz([ID],[仮ID]) のどちらを入力しても、#エラーになります。 そこで、そのようなことってできるのかどうかを教えていただきたいのです。 また、できたとして、新規入力する時には、T1のテーブルの[ID]欄に入力するようにしたいのですができますか? レコードソース=T1 です。 すみませんがよろしくお願いいたします。

  • Accessのフォーム

    Access2003を使用しています。 テーブルまたはクエリを元に作成したフォームにはテーブル・クエリに入力されているデータが表示されますよね? それらのデータをフォームから変更出来ないようにする方法はありますか? データ自体を非表示(入力用フォーム)にするのではなく、既存のデータは表示されるけど変更は出来ないという状態にしたいです。 ちなみに新規入力は行えるようにしておきたいです。 よろしくお願いします。

  • アクセスでの、フォームとテーブルの連動の方法を教えてください

    初歩の初歩だと思うのですが、教えてください。 アクセスで、テーブルのフィールドと全く同じ内容でフォームを作りました。(受講生情報の管理) その中で「性別番号」と「性別」があり、(「性別番号」と「性別」は、別にテーブルを作っています)フォーム上では「性別番号」に番号(男なら1、女なら2)を入力すると「性別」に自動で値が入るように設定できたのですが、テーブルに反映されません。(フォームの「性別」のプロパティのコントロールソースに”DLOOKUP~”を入力しました) テーブル上にも同じように反映させるには、どうすればよいのでしょうか。 同様の質問と思われるものを参考にいろいろとやってみたのですが、どうもうまくいかなくって・・・ よろしくお願いします。

  • Access ページで客先名称が表示出来ないのですが・・・

    以前、Accessのページのフィールドリストが繋がらないと質問させて頂いた者です。フィールドリストは解決できたのですが、 今、会社で物件登録リストをAccessで作成しようとしていて、得意先データと物件登録データをテーブルに作成して、テーブルを元にデータアクセスページをウィザードで作成し、Webブラウザで確認すると、得意先名称が表示されずにテーブルの主キーである得意先番号が表示されてしまいます。 自分で考えられる原因としては、テーブルでルックアップウィザードを使用して得意先データから得意先名称が一覧で選べるようにしているからかな~と思っているのですが、データアクセスページでプロパティのどこを直せば直るのか、いろいろいじってみるのですが全く表示されません。 フォームではルックアップウィザードを使用していてもちゃんと表示されています。 形としては、フォームで客先名称等を入力してデータアクセスページでは入力出来ない様にして表示するだけにしておきたいので、得意先名称が表示されないと非常に困ります。 また、フィールドでは必要なのでテーブルでコンボボックスをテキストボックスに戻したくはないのです。 Webなどで探してはいるのですが、これだ!っていう解決法に至らず大変困っています。 どなたかご教授を御願いいたします。 また、Accessの参考書でいいのがあるよっていう情報でも結構ですので宜しく御願いいたします。

専門家に質問してみよう