Accessフォームを動的にカスタマイズ

このQ&Aのポイント
  • Access2010で、情報の登録フォームを作成している際に、フォームの高さを動的に変える方法やオプション項目を表示させる方法について教えてください。
  • 登録フォームが縦長になるため、基本情報は必須項目として表示し、他の項目はオプションにしたいです。
  • 予めオプション項目が追加されているフォームを作成しておき、チェックボックスにチェックが入れられた場合に、オプション項目を表示させる方法やフォームの長さを変えて項目を追加する方法は可能でしょうか。
回答を見る
  • ベストアンサー

Access フォームを動的にカスタマイズ

お世話になります。 Access2010 現在Accessにて、ある情報の登録フォームを作成しております。 登録項目が複数ありフォームが縦長になりそうなので、基本情報の 登録は必須とし、その他の項目はオプションにしたいと思います。 そこで、チェックボックスにチェックが入れられたら、オプションを 登録できるよう登録フォームの高さを長くするのと同時に、オプション 項目も表示させたいのですが。。どのようにすればよいでしょうか。 予めオプション項目が追加されているフォームを作成しておき、 チェックが入れられたら、そっちのフォームにすり替える方法(必須項目が 入力されていたらそれぞれコピー)や、フォームサイズは変えずに チェックが入れられたら「登録」ボタンを「次へ」に変更させ、 次画面でオプション項目を入力させたり・・色々と方法はあるかと 思いますが、上記のようにフォームの長さを変えて、項目(テキストボックスや リストボックス)を追加することは可能でしょうか。 ご教示の程、宜しくお願い致します。

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

  • ベストアンサー
noname#231195
noname#231195
回答No.1

VBAで書いていいんですよね? 例えばこんな風にできます。 Private Sub チェックボックス_AfterUpdate() If Me![チェックボックス] Then Me.詳細.Height = 9000 Me![テキストボックス].Visible=False Me![テキストボックス].Top = 4500 Else Me.詳細.Height = 25000 Me![テキストボックス].Visible=True Me![テキストボックス].Top = 6800 End If End Sub チェックボックスにチェックが入っていると、フォームが短くなってテキストボックスが消え、チェックを外すとフォームが長くなってテキストボックスが現れます。 詳細は、"詳細"と日本語でいいかどうか試していません。多分いいと思いますが。 要するに、チェックを外すと不要なオプション項目を上に寄せて、そして見えなくするというのが基本的な考え方です。 チェックを入れると、指定する場所に動かして、そして見えるようにします。

naoto0216
質問者

お礼

szo_orzさま ご回答ありがとうございます! 実際には、チェックが入ったときにオプションを表示 させるので、予めテキストボックスを非可視にして 上の方に置いといて、で、チェックが押されたら、 フォームを長くして移動。チェックが外れたらまた 上に戻して短くする・・って感じですね。 なお、チェックが外されたときのフォームサイズを 短くする際に、予めテキストボックスを移動させた上で 短くしないといけないようです。 大変勉強になりました。ありがとうございました。

関連するQ&A

  • アクセス2000のフォームについて

    アクセス2000でデータベースを作成しています。 フォーム上に、タブコントロールを配置し、タブコントロールの各ページに、異なる処理のためのテキストボックス等を配置しました。(具体的にいうと、1頁目は出願情報の入力、2ページ目は登録情報の入力、3ページ目は・・・といった感じです。) 上記した処理フォームと同時に、処理メニューページを作成し、出願用の検索ボックスと、登録用の検索ボックスとを作り、どちらから検索しても同じ処理フォームが開くようにしてあります。 前置きが長くなりましたが、ここで質問なんですけど、例えば、出願用の検索ボックスから検索をした時はタブコントロールの出願ページが開いている状態でフォームを開き、登録用の検索ボックスから検索をした時にはタブコントロールの登録用ページが開いている状態でフォームを開くことはできないのでしょうか? 教えてください。

  • ACCESS フォームのデータ登録について

    いつもお世話になっております。 ACCESS2000を使用しております。 フォームでデータを入力して登録しております。 そこでフォームの必須入力項目が空白の場合は登録できないようにしたいです。 ※テキストボックスは商品No・商品・価格・・・・とあり価格が未入力の場合、登録ボタンを 教えても登録できないようにしたいです。 調べてもエラー対処方法等がヒットしてしまい、なかなかみつかりません。 お手数ですが、お力を貸して頂けないでしょうか。 以上、よろしくお願い致します。

  • アクセスのフォームで連結コントロールを追加するには?

    アクセスの入力フォームで、すでにほぼできあがったフォームにあとから追加したい項目があるのですが、方法がわかりません。リストボックスなら連結で追加できるのですが、普通のテキストボックス(連結)を追加できません。初めからやり直す以外に方法はあるのでしょうか?よろしくお願いします。。。

  • Accessのフォームで入力規制したい

    お世話になります。またまた、教えていただきたく投稿させていただきました。 Accessのフォーム内に、コンボボックス(値リスト)を作り、プロパティの”規定値”として、”選択必須”と入力してます。 それを選択しないとレコード追加できないようにしたいのですが、入力規制に「Not "選択必須"」と入力してみたのですが、選択必須のままでレコード追加ができてしまいます。 どのように書けば追加できないようになるんでしょうか?すみませんよろしくお願いします。

  • ACCESS、フォームの入力方法。

    仕事上、どうしてもACCESSを使わなくてはならなくなり、初めてACCESSに挑戦しています。 「フォーム」テキストボックスの簡単な入力方法を教えてください。 ExcelのCSVデータを、ACCESSに読み込みました。 「フォーム」を作成し、データを管理しています。 フォームのテキストボックスに、同じ記述を入れる項目があります。 データが1000以上あるので、かなりの手間になってます。 そこで、1度に(一括で?)その項目を入力できるような機能はないのか?と思い、質問しました。 この記述というのが、HTMLデータで改行が入っているため、Excelでは、入れることができませんでした。

  • Accessフォーム

    Access初心者です。 Accessのフォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が選択できるようにしました。 フォームでの入力はきちんと出来るのですが、新しいレコードに入力すると、 前のレコードに入力した項目が消えてしまいます。 (テーブル上には、入力した情報が残っています) 色々試してみましたが、どうしても出来ません。 いったいどうしたらよいのでしょうか。ほとほと困っています。 どうかご教示ください。お願いいたします。

  • フォームの必須項目を埋めるまで特定のボタンを無効化する

    こんばんは。 会員登録用のフォームを作成しているのですが、必須項目が入力、もしくは選択されていない場合には特定のボタン(次へボタンなど)を無効化するようにできたらな、と思っているのですが、そのような方法をご存知の方はいらっしゃいませんでしょうか。テキストボックス、チェックボックス、ラジオボックス、コンボボックスなど、色々な入力部品が混在しています。 テキストボックスでは入力、チェックボックス・ラジオボックス・コンボボックスでは特定の項目(name属性で指定するなど)が指定された場合以外を無効化したいと思っています。 こんな内容で理解できるかは不明ですが、ご存知の方はぜひご伝授ください。

  • アクセスのフォーム作成

    アクセスのフォームを閉じるとき、必須項目が未入力だとメッセージが出るようにし、閉じることが出来ないようにしたい。

  • フォームへの未入力を無くしたい

    [やりたいこと(宜しくおねがいします)] フォームの未入力「コンボボックス」と「テキストボックス」を事前に把握したい。 [(やりたいこと)の実現と希望] このサイトでアドバイスを頂きまして、長年に渡り作成できたデータベースが「68」、入力するフォームは「78」を超えます。現状「フォーム」の構成を生かす方法を含めアドバイスをお願いします。 [入力するフォームに共通していること] 1,コンボボックスとテキストボックス  ・全てのコンボボックスへの選択入力は必須になっている。  ・テキストボックスは未入力箇所も発生する。「未入力箇所は不特定」 2,フォームに共通して配している2つのコマンドボタン  ・フォームを閉じるボタン「マクロ(クリック時)」  ・情報の最新化ボタン「マクロ(クリック時)」   ※コンボボックスの選択項目追加時に反映用として配置 以上ですが、宜しくお願いします。

  • Access フォームのフィールドの追加と移動

    製品分析表を作成しています。 チェック項目が多く、305あります。大半がチェックボックスと5段階評価です。 フォームを分割すると入力するとき(複数人数)、操作が面倒になるように思えます。 何とかいい方法はないかと思案しています。 どうかよろしくお願いいたします。 質問としては、次のようになります。 1.SQLステートメント:クエリのフィールド数をオーバーした場合、 フィールドを追加する方法があるのかどうか。 2.フォーム画面を2つに分けた場合、ボタンで同じ製品の分析画面に移動 (フォームを表示)するにはどうすればいいか。

専門家に質問してみよう