- ベストアンサー
Access2000のフォームで社員テーブルの性別フィールドを表示する方法
- Access2000を使用して社員テーブルには「性別」フィールドがあり、男なら1、女なら2が登録されています。その社員テーブルを基にしたフォームを作成し、非連結のテキストボックスを作成し、1なら男、2なら女と表示させたいが、登録済みのデータを呼び出した場合は表示されない問題が発生しています。どのイベント時にどのようなアクションをすればよいか教えてください。
- Access2000のフォームで社員テーブルの性別フィールドを表示する方法について教えてください。
- Access2000のフォームで社員テーブルの性別フィールドを表示する方法についてアドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テキストボックス入力後に フォーム上の表示を 更新した値に表示しなおすには、 入力用テキストボックスの プロパティで、 イベント の 更新後処理 を [イベント プロシージャ] とし、 VBA記述は 次のようになります。 (仮に「性別」フィールドのテキストボックス名を 性別 連結のテキストボックス(男女表示用)の名を 表示用とします。) If me.[性別]=1 then Me.[表示用] = "男" else Me.[表示用] = "女" End if Me.Requery とします。 最後の Me.Requery でフォームを最新の値で表示しなおします。
その他の回答 (2)
- urovy
- ベストアンサー率33% (7/21)
多数の種別があった場合はクエリーでまず表を結合してからフォームのデータソースに指定すれば簡単です。 例えば 【テーブルA】 【テーブルB】 ID 部署 部署 部署名称 アアア 01 01 総務部 イイイ 05 02 経理部 ウウウ 13 05 システム部 13 営業部 の表をクエリーで 【クエリー1】 ID 部署 部署名称 アアア 01 総務部 イイイ 05 システム部 ウウウ 13 営業部 と結合します。 あとはフォームのデータソースをクエリー1に指定し表示してやればOKです。
お礼
丁寧かつ迅速なご回答どうもありがとうございました。 今後ともよろしくお願いいたします。
補足
こんにちは。 またまた追加で質問したいのですがよろしいでしょうか? <社員テーブル> 社員番号 名前 性別 1 田中 1 2 鈴木 2 3 山本 1 <性別テーブル> 番号 区分 1 男 2 女 上記のテーブルがあって社員テーブルを基に 入力用フォームを作成します。 性別はコンボボックスを作成し、値集合ソースに性別テーブル を指定し、非連結のテキストボックスに性別テーブルの区分を 表示させたいのです。 性別コンボボックスの更新後イベント処理でテキストボックスに 区分が表示するようなVBAを組み込みうまくいきましたが、レコード 移動ボタンを押したときはうまく表示されません。 どのようなイベントプロシージャを組み込めばよろしいでしょうか? 長くなってしまいましたが宜しくお願いいたします。
- urovy
- ベストアンサー率33% (7/21)
はじめまして。 テキストボックスに値を解釈して表示させる方法ですが IF関数を使ってみてはいかがでしょう? 非連結のテキストボックスのコントロールソースに =IIF([社員テーブル]![性別]="1","男",IIF([社員テーブル]![性別]="2","女","")) このように記述すれば現在の社員テーブルのレコードから値を判定し表示できるはずです。
補足
なるほど!ですね。どうもありがとうございます!! また、最初の質問から若干離れてしまいますが、もし基となるテーブル に今回のように2レコードだけでなく30レコードくらいあった場合、 記述するのは難儀ですね。 そのような場合はどうしたらよいのか、教えていただけたらと思います。 よろしくお願いします。
お礼
再三にわたるすばやい回答を どうもありがとうございました。 本当に助かりました。