• ベストアンサー

Access データのないフォームの枠線を表示させたい。

いつもお世話になっています。 Accessで数個のフォームをサブフォームとして1つの大きなフォーム(メインフォーム)に挿入しています。 メインフォーム上では、サブフォームのデータがなくてもサブフォームで設定してある枠線が表示されるのですが、そのメインフォームを印刷すると、データがないサブフォームの枠線は印刷されません。 データがなくても、それぞれの枠線が表示(印刷)されないと印刷物としては不都合があります。 どのように設定すればよいか教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

レポートの場合は詳細のフォーマット時のイベントで必要行数出力するのは出来ますが・・。 フォームでは最後まで罫線を出力するための空レコードを作らないとダメだと思います。 簡単に空データを作る場合は 例えば連番テーブルとしてフィールドは連番とします。 連番にフォーム上で必要な行数分レコードを作ります。 10行であれば 連番フィールド  1  2  3  ・  ・ 10 のようにレコードを作ります。 サブフォームのレコードソースはクエリを使うようにします。 クエリはサブフォームのレコードソースになっているテーブルで抽出などの条件があれば同様に設定しておきます。フィールドを1つ追加し 連番:DCount("キーになるフィールド名","テーブル名","キーになるフィールド名 <=" & [キーになるフィールド名]) とすると連番がクエリ上で振られます。(仮に連番クエリとします) 例えばキーになるフィールドがIDなら 連番: DCount("ID","テーブル名","ID <=" & [ID]) となります。 もう一つクエリを作りテーブル追加で連番をふるクエリと連番テーブルを追加し連番テーブルの連番から連番クエリの連番へドラッグし結合させ結合プロパティで連番テーブルの全レコードと連番クエリの同じフィールドを選びます。連番クエリ.連番に向けた→の結合ラインの表示になります。 これで例えば5行しかなくても10行分のレコードが作成されます。 このクエリをサブフォームのレコードソースにすれば必要行数レコードが出来るので印刷じも罫線は表示されます。

関連するQ&A

  • Access 「これ以上テーブルを・・・」というエラーについて

    いつもお世話になっております。 Accessのメインフォームに約96個のサブフォームは挿入してデータを管理しています。 複数のレコードを日付にリンクさせてデータを管理する必要があるからです。また、そのデータに関してレポートでは必要な印刷物が作れないためフォームを用紙サイズに合わせ印刷することにしました。 メインフォームおよびサブフォームとも日付をかえることで思い通りのデータ表示をするのですが、そのフォームを印刷しようとすると「これ以上テーブルを開くことはできません」という警告が出ます。警告画面の「OK」を押すと(警告は35回出ます)最終的に印刷はでき、印刷物も問題ありません。 警告を出さないようにする方法はないものでしょうか? よろしくお願いします。

  • Access VBAでメインフォームとサブフォームを印刷するには?

    現在Access VBAを使用して開発をしております。 (Accessのバージョンは2003です。) メインフォームとサブフォームから成る画面があります。 以下、フォーム内に配置されているコントロールです。 <メインフォーム> ・コンボボックス(DB非連結) ・検索ボタン ・画面印刷ボタン <サブフォーム> ・表形式フォーム(DB連結) 画面の機能としては、メインフォームの検索ボタンをクリックしたら、 メインフォームのコンボボックスで選択されているデータに 該当するデータをサブフォーム内に表示しています。 この状態で画面印刷ボタンをクリックしたら 印刷プレビュー画面を表示しています。 ●サブフォームのデータは印刷プレビューで表示されているのですが、 メインフォームのコンボボックスで選択されたデータが表示されなくて 困っております。 メインフォームのコンボボックスをサブフォーム内に配置すれば 印刷プレビューで表示できるようになるのかもしれませんが、 できればメインフォーム上に配置しておきたいのです。 何か良い方法をご存知の方、ご教授いただきたく思います。 よろしくお願いします。

  • Accessのメインフォームとサブフォームの使い方について

    Accessにてメインフォーム(単票形式)+サブフォーム(帳票形式)を使って進捗管理をするデータベースを作っており、新規にメインフォームで入力し、サブフォームで入力したデータを表示させてます。 サブフォームで更新したいレコードをクリックしたときにメインフォームでそのレコードを表示させるにはどのようにすればよろしいのでしょうか?

  • ACCESS フォーム

    ACCESSの初心者です。 フォームのメインフォーム、サブフォームを使ってデータを入力しています。 サブフォームにデータを入力後、マウスを使わないで次のレコードに移動したいのですが、どのような方法がありますか。   よろしくお願いします。

  • ACCESS2003 サブフォームのデータ

    こんにちは。宜しくお願い致します。 ACCESS2003でDBを作成しています。 メインフォームの中にサブフォームを作っています。 それぞれのID(オートナンバー)をリレーションシップとして設定し、連動しています。 メインフォームにデータを追加する際、サブフォームにデータを入力せずに、 次のメインフォームにデータを入れた場合、 サブフォームのオートナンバーが働かず、のちのちデータを入れた際にIDが違うため情報がずれてしまいます。 例えば、 メインフォームのID1~9のサブフォームには何も書き込まずメインフォームにだけデータを入力します。 その後、メインフォームのID10にあるサブフォームにデータを書き込むと、立ち上げなおしたときに、そのサブフォームへの入力したデータがID1のデータとして出てきてしまいます。 恐らく簡単なことだとは思うのですが、なにぶん初心者なものでさっぱり分かりません。 お分かりになる方、是非ともご教授お願いいたします。

  • サブフォームのデータをメインフォームへ

    お世話になります。 ひとつお聞きしたいのですが、サブフォームのデータをメインフォームに表示させる方法ってないのでしょうか? データシートのサブフォームで計算させた合計の値を、メインフォームにもテキストボックスを表示させたいと思っています。 できるかどうかわかりませんが、何かいい方法がございましたら、よろしくお願いいたします。

  • アクセスのメインフォームのみRequeryしたい

    アクセスでフォームを作製しています。 シンプルに「メインフォームの中にサブフォームがある」形で作製し各フォームにはクエリをレコードソースとして指定しています。検索したいデータのコードを入力してそのデータを表示させる・・・という一般的なフォームなのですが、メインフォームのみRequeryさせたいのですができますか? [Forms].[メインフォーム].requery とするとサブフォームまで再計算されてしまいますが、ここでサブフォームは再計算させないで、メインフォームだけ再計算させたいのです。宜しくお願いします。

  • アクセス2003サブフォームで選択したデータをメインフォームで表示したいのです。

    得意先のデータベースを作っています。 メインで詳細データを入力し、 会社名の一部で検索できるようにしてあります。 その検索の結果をサブフォームに データの一部を表示し、 複数ある場合はサブフォームで選択したデータを メインフォームに反映させたいと思っています。 アクセス初心者の私でもできる方法はないでしょうか?

  • ACCESSで、メインフォームとサブフォームがあるとき・・・

    Accessで、メインフォームとサブフォームがあり、メ インフォームのテキストボックスで期間を指定し、再 クエリを行うマクロボタンでサブフォーム上に期間指 定したデータのみが表示されるようにしています。 また、Access起動時に開くフォームがあり、そのフォ ームに、先ほど上述したメインフォームが開くマクロ ボタンを作成したところ、パラメータの入力画面が出 てきてしまいました。 恐らく、サブフォームの抽出用のクエリに設定してあ るものだと思いますが、これが表示されないようにす ることは出来ないのでしょうか?

  • アクセスのメインフォームのみの表示について。

    アクセスでデータ管理をしていますが、画面上にメインフォームのみを表示させたいのですが、どのようにしたらアクセスの編集画面などを消せるのでしょうか?現在メインフォームを自動で表示するようにしてありますが、必ず、アクセスのファイル、編集、表示、挿入などが上に表示され、編集枠の中にメインフォームが真ん中に表示される状態です。どこかで見たことがあるのは、そのメインフォームのみ真ん中に表示され、後ろにはウインドウズの画面があるものでした。どなたか教えていただけないでしょうか。よろしくお願いいたします。

専門家に質問してみよう