• ベストアンサー
  • 暇なときにでも

サブフォームにした方がいいのか親フォームがいいのか

単票・帳票フォームで使う場合、 サブフォームにした方がいいのか親フォームのままのほうがいいのか。 アクセスでフォームでデータを表示する際に、 フォームのデータシートビューの場合は、 フォームヘッダーにコントロールを置けないから、 データシートをサブフォームとして、親フォームに乗せてコントロールを設置しますが、 単票・帳票フォームの場合は、フォームヘッダーにコントロールが置けますよね。 その場合でもデータシートビューのように サブフォームにした方が良いのでしょうか? そもそもどういう時にサブフォームにした方が良いのかわかりません テーブルやクエリのデータをフォームとしてデータシートビューで表したい上、 コントロールも設置したい時にサブフォームにするべきで、 それ以外(単票・帳票フォーム)はフォームのまま使うべきでしょうか? 添付の画像は、 帳票フォームをサブフォームに載せずにコマンドボタンなどを置いたバージョンです。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数146
  • ありがとう数1

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

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

一言でズバリと言うなら     好み ですね。 私の場合・・ ヘッダー・フッターに「入力のためのコントロール」を置くのが嫌いなので、 入力用のフォームにはなるべくそのレイアウトは使わないようにしています。 例えば見積書のようなモノを作る場合、 提出先の名前・住所などを親フォームに置き、 明細(商品名・金額・個数など)をサブフォームにリストアップ、 親フォームに戻って、合計金額や消費税などを計算。 みたいな感じで作ります。 親フォームでレコード移動が容易だからですね。 逆に、検索・閲覧のみのフォームの場合はヘッダーフッターを使います。 例えば、ヘッダーセクションに検索用のコンボやテキストボックス、 詳細セクションにリストアップして、フッダーに次の動作のボタン・・ のような使い方でしょうか。 言葉にすると難しいですね^^; これはあくまでも私の場合です。 そこにルールはありませんので、ご自身の「お好み」を見つけてみてくださいませ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。

関連するQ&A

  • アクセス2010サブフォーム内にチェックボックス

    テーブル上でデータ型をyes/no型にしてあるフィールドを、データシートビューで見ると、チェックボックスで表示されるのですが、サブフォーム内(データシート形式)では、on/offなどで表示されます。 サブフォーム内でもチェックボックスで操作したいのですが、表示させることができません。 どのようにするべきでしょうか。 ご存知の方、ご教示ください。

  • アクセスのサブフォームが編集可能な状態で表示されない

    ■バージョン:Access2003 ■使用経験:Accessはつい最近使い始めたばかりで、初心者レベルです。    (ヘルプ及びいくつかのサイトを参考にしながら使っています) ■質問内容:   データをテーブルに登録するためのフォームを作ろうとしています。   登録するテーブルは、商品テーブルと商品明細テーブル(1対多)のヘッダ明細型です。   まず始めに商品テーブルへデータを登録するフォームを   クエリを使用してウィザードで単票形式で作成しました。   次に、商品明細テーブルへデータを登録するフォームを   クエリを使用してウィザードでデータシート形式で作成しました。   次に、始めに作った単票形式のフォームに、2番目に作ったデータシート形式のフォームをサブフォームとして組み込みました。        その後、デザインビューからフォームビューに切り替えたところ、   単票形式にした1つめのフォームは入力できる状態になっているのですが、   サブフォームとして組み込んだデータシートビューのほうが   列のヘッダ(「商品名」等の列タイトル)しか表示されておらず、   入力できるような白いセルが表示されません。   (列タイトルの下は一面グレーとなっています。    デザインビュー上では登録したい項目が全て表示されています。)   関係あるのか不確かですが、サブフォームのプロパティで   「フォームビューの許可、更新の許可、追加の許可、データ入力用」などは「はい」にしてあります。   サブフォームのデータシートにデータを入力できるようにするには   どうしたらよいのでしょうか。   入力できなくなってしまう原因がテーブル構造等にあるのでしたら、   テーブルの構造をもう少し詳しく書かせて頂こうと思います。   何卒よろしくお願い申し上げます。

  • サブフォームの表示の種類をVBAで操作したい

    こんばんは。 アクセスのフォームの中にサブフォームを入れていて コマンドボタンを押すたびに そのサブフォームを フォームビューか、 データシートビューか、 ピボットテーブルビューかに切り替えたいのですが VBAで可能でしょうか? 宜しくお願い致します。

  • サブフォームのビューを切り替えたい

    親フォーム(フォーム1)にサブフォームとして、 テーブルをソースとするサブフォーム(テーブル1のサブフォーム)を配置しました。 親フォームからサブフォームのビューを変更したいのですが どうすればいいか教えてください。 親フォームのコマンドボタンにはそれぞれ Private Sub 単票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 1 '帳票フォーム End Sub Private Sub 帳票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 0 '単票フォーム End Sub としたのですが、 実行すると 実行時エラー 2136 "このプロパティを設定するには、フォームまたはレポートをデザインビューで開きます"。 となってしまいます。 Private Sub 帳票フォームへ切り替え_Click() DoCmd.SelectObject acForm, "テーブル1のサブフォーム" DoCmd.RunCommand acCmdFormView End Sub にしたところ、 実行時エラー 2489 “オブジェクト テーブル1が開いていません、” になります。 サブフォームに埋め込んでいて親フォームを開いていても 開いてない事になるのですね。 フォームビューの時に、切り替える事は不可能なのでしょうか? 帳票ビュー表示用フォーム、 単票ビュー表示用フォーム を作るしかないのでしょうか?

  • サブフォームのデータを「OfficeLink→Excelに出力」したい

    フォームにサブフォームを設置しデータシートビューにしているのですが その状態で OfficeLink→Excelに出力をしても 新たなブックができあがり、フォーム1と言う名のシートができあがりますが データは空です。 親フォームを立ち上げないで サブフォームのみ開き OfficeLink→Excelをすると ちゃんとデータが表示されます。 親フォームを開いた状態のまま サブフォームのデータを OfficeLink→Excelに出力 するにはどうすればいいでしょうか? よろしくお願いします。

  • アクセス サブフォームのレコードの値が変更したら

    フォームの中にテーブルに基づいたサブフォームを入れています。 サブフォームはデータシートビューで表示しています。 そのサブフォームのレコードの値が変わったら msgboxを表示させるにはどのイベントで行なえば良いですか? サーブフォームのコントロールに Private Sub ページ名_AfterUpdate() MsgBox "" End Sub としたら確かにメッセージボックスは表示されるのですが 全てのコントロールにつけないとだめですか? 「サブフォームのレコードの値が変更したら」 とするにはどうすればいいでしょうか?

  • サブフォームの文字のサイズを変更したいのですが

    アクセスです。 サブフォームをフォームの中に入れています。 データシートビューで表示しています。 この場合のサブフォームの文字のサイズを変更したいのですが どうやって変更すればいいでしょうか? デザインビューにして、 サブフォームの詳細を見ても、フォントサイズのプロパティはないし サブフォームにもフォントサイズのプロパティはないです。 添付画像はサブフォームのプロパティ画像です。 フォントサイズを変更することがない事を表しています。

  • サブフォームをリクエリするには?

    アクセスのフォームにはサブフォームがあり、 親フォームの上にあるコマンドボタンで、テーブルに対してアクションクエリでレコードの削除やレコードの更新を行います。 サブフォームにはそのテーブルをソースとしたデータを表示させているのですが、 親フォームの上にあるコマンドボタンのイベントの最後に、 Me.Controls("サブフォーム").Requery を入れても、フォームのデータが#Deletedになります。 Me.Requery でも、サブフォームのデータは#Deletedになってしまいます。 フォームを開きなおしたり、並べ替えをすればデータが表示されますが コマンドボタン押下後にイベントを実行し終わったら、サブフォームのデータも更新されたデータを表示するさせるには どうすればいいでしょうか?

  • ACCESS フォームでの、データシートビューで表示できない

    ACCESS フォームで、 データシートビューで表示させたいのですが、 コマンドボタンから表示させる場合だと 単票形式の表示になってしまいます。 そのフォームを単独で起動させた場合は、指定通りに表示できるのですが・・・ プロパティの「規定のビュー」の項目は「データシート」と入力しております。 どうかご教授願います。

  • ACCESSの条件付書式

    アクセスのデータシートビューで条件付書式ができるのは フォームをデータシートビューで表示したときだけでしょうか? テーブルやクエリでは ツールバーに「書式→条件付書式」は表示されませんが フォームのデータシートビューを開いている時のみ、 「書式→条件付書式」が表示されます。 テーブルやクエリでも条件付書式を設定できる方法があれば教えてください。 よろしくお願いします。