- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCSESSのサブフォームについて)
ACCESSのサブフォームについて
このQ&Aのポイント
- ACCESS2003を使ってメインにサブフォームが組み込まれた入力フォームを作っています。メインフォームには会員CD、名前、住所があります。サブフォームには会員CD、種類、利用回数があります。メインフォームの会員CDとサブフォームの会員CDは連動していますが、サブフォームに履歴を入力していない場合でも会員CDだけが表示されます。利用日や回数を入力していない場合は会員CDが表示されないようにする方法がわかりません。
- 以前作った同じようなフォームでは、利用日や回数を入力していない場合は会員CDが表示されませんでしたが、今回のフォームでは会員CDが表示されてしまいます。作り方がわからなくなってしまいました。
- サブフォームのデータシートには会員CDが表示されていますが、利用歴や回数は空白です。種類を入力したら会員CDが表示されるようにしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サブフォームをデザインビューで開き,表示される「登録CD」のプロパティのその他を開くと一番上に名前があります。名前は「会員CD」とついているはずです。これを「CD」と名前を変えてみてください。これでメインフォームに戻れば,サブフォームのデータシートのCDの表示は消えているはずです。種類や回数を入れると会員CDがちゃんと表示されますよ。
その他の回答 (1)
- hatena1989
- ベストアンサー率87% (378/433)
回答No.1
> 以前自分が作った同じようなフォームのデータシートでは,利用日や回数を入力してでないと会員CDが表示されないようにできましたが、 それはサブフォームでないか、サブフォームでもメインフォームとリンクされていないフォームだったのでは。 リンクされたサブフォーム(リンク子フィールド/リンク親フィールドが設定されている)では、リンクされたフィールドの値は新規行に最初から表示されるのがAccessの仕様です。 これは実際に入力されているわけではなく既定値として表示されているだけです。 他のフィールドを入力したときに初めて確定されます。 リンクされている場合、メインフォームと同じ値になるし、また、通常は非表示にするのでこのような仕様でもなんら問題はないと思いますが、いかがですか。 > 種類を入力したら表示されるようにしたい。 どうしても、会員CDは表示したいが、種類を入力する前は表示させたくないというなら、会員CD表示用のテキストボックスを下記のようにする方法はありますが。 名前 txt会員CD コントロールソース =IIf([種類] Is Null,Null,[会員CD])
お礼
ありがとうございます。できました。理由はわかりませんが,簡単にできました。