• ベストアンサー

サブフォームへの新規レコードを一度に複数行を出したい

access初心者です。マクロやVBAもほとんどわかりません。 前任者がTHE CARDというソフトで見積書を作っていたのですが 最近データが壊れやすくなってきて、作り方も忘れたとのこと。 そこでaccessを使う事になったのですが、フォームで見積書を作り サブフォームには見積の詳細を出しています。 そこで無駄には見えますが、新しいレコードを追加した時に サブフォームに13行を自動的に出せないでしょうか? あと、そのカレントのレポートのみの印刷方法も教えて下さい。 わかりにくいかと思いますが宜しくお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>サブフォームに13行を自動的に出せないでしょうか? サブフォームの元になっているテーブルに13個の新しいレコードを追加してやればいいいのです テーブルの情報が全くないので 適当にモデルで回答しますから応用してください テーブルは以下のようなものだとします [見積見出し](見積番号、日付、顧客CD、・・・) [見積詳細](見積番号、行番号、・・・・) メインのデータ入力後、ボタンを押した時に 13の新しいレコードを見積詳細に追加するには 下のような追加クエリを作成し、ボタンで走らせるようにします 1~13までの数字だけのテーブルを作成します このテーブルから 行番号:数字 見積番号:Forms!メインフォーム名!見積番号 というクエリを作り、見積詳細への追加クエリに変換します

yazyae
質問者

お礼

回答ありがとうございます。 こういう質問が初めてなもので、つたない文を 理解していただき、感謝します。 >1~13までの数字だけのテーブルを作成します これを作ってみていたのですが、全くクエリの方には 手をつけておらず、挿入するのにどうすればよいか ???な状態でしたので、ものすごく的確なご回答でした。 早速使ってみます。(といっても雑用の山を片付けてからですが)(^^; あらためて感謝します。

その他の回答 (1)

noname#140971
noname#140971
回答No.1

Q、サブフォームに13行を自動的に出せないでしょうか? A、無理です。 もちろん、主と従の関係のテーブルを用意すれば可能でしょう。 主レコードが登録された時に従テーブルに13行の明細を追加。 が、これは言わばゴミレコードの類でしょう。 で、このゴミレコードを伴わない明細行を仮に発生させるの至難。 仮にゴミレコードを発生させるにしろマクロやVBAが判らねば無理。 Q、あと、そのカレントのレポートのみの印刷方法も教えて下さい。 A、全く、アタックした形跡がないので教えるのは不能。 つ、つまり、何が問題で何が判っていないのかが判っていない場合のサポートは無理ってことですよ!

関連するQ&A

  • access フォーム上で複数行のレコードを追加したい。

    宜しくお願いします。 仕様環境:WinXP access2002 フォーム上にコマンドボタンで空白のレコードを 追加したいのですが、一行だけなら「値の代入」マクロで 追加できるのですが、複数行だとやり方がわかりません。 「追加クエリ」を作ってコマンドボタンにマクロで乗せてみたのですが、 テーブル上では複数の空白レコードが追加されてますが、 フォーム上には反映してくれません。 「値の代入」マクロを使って、複数行のレコードをフォーム上に追加するか、 「追加クエリ」を使って、複数行のレコードをフォーム上に反映させるか したいのですが教えてください。 ※ ちなみにこのフォームはサブフォームです。   また5行追加しようとしています。   この方法では無理でしたらご指導お願いします。 宜しくお願いします。

  • サブフォームのレコードを1件のみに限定することはできますか?

    メインフォームの中にサブフォームを作りました。 メインフォームは単票形式で、サブフォームは表形式です。 (1)メインフォームのレコード1件につき、サブフォームのレコードは1件です。 今のままだとサブフォームが何件でも入力できてしまう仕組みなので、入力者が戸惑わないように、1件しかレコードを入力できないような仕組み(表示)に変えたいのです。 このようなことは可能なのでしょうか? (2)メインフォームの中にサブフォームを作ることにしたのは、依頼者から「この項目を増やしてほしい」と言われるのが一つずつで、その度にメインフォームに関連するエクセルなどのマクロの式を変えなければならず、手間がかかります。 そこで依頼者から言われる項目は○○の実績という一つのカテゴリーに限ったことなので、サブフォームにしてエクセルのマクロとは関連づかないようにすればメインフォームはいじらずに済み手間が省けるのではないかと思ったからですが、この方法は違っていますか? どなたか詳しい方がいらっしゃいましたらご教示いただけないでしょうか? お手数をおかけして申し訳ありませんがよろしくお願いいたします。

  • Access2013 vbaサブフォームのレコード

    [Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。

  • Access2013サブフォームの背景色(2)

    サブフォームの先頭行のみ青色の背景色となってしまいます。 2行目以降は無色になっています。 カレント行には背景色がついてしまうでしょうか? 全て無色にする方法が知りたいのですが。 カーソルはメインフォームのコントロールにSetFocusしています。 サブフォームのフォームのプロパティ「レコードセレクタ」は「いいえ」に 設定しています。 何か他に設定するところがあるのでしょうか? フォームが開いた時にサブフォームのレコードセレクタが選択されるような作りにしたつもりはないのですが、もしそうであればどうやって解消すればいいのでしょうか?

  • サブフォームが見えなくなる。

    サブフォームが見えなくなる。 Access初心者です。 メインフォームにサブフォームを入れ込んだのですが、メインフォームを新しいレコードに移動すると、サブフォーム自体が出てこなくなります。 データがあるレコードではきちんとサブフォームが出ていることが確認出来ています。 どうしていいのか判らないので教えて下さい。 マクロで入力ボタンを押すとメインのフォームを開き、新しいレコードに移動することをやっていますが、関係あるでしょうか? やりたいことはメインを新しいレコードに移動した時に、サブフォームが表示されて入力できるようにしたいということです。

  • Access レコード移動時イベントでサブフォーム

    お世話になります。 親フォーム Aがあります。(データソースが存在します) その中にサブフォームBがあります。(データソースが存在します) 親フォームのレコード移動時のイベントで、いつもサブフォームのレコードの最後を表示したいのです。そこで・・・ 親フォームAの レコード移動時イベントに Private Sub Form_Current() Me.B.SetFocus DoCmd.GoToRecord , , acLast End Sub 上記を記述すると、一番初めはきちんとサブフォームBのレコードは最後を表示するのですが、以後、親フォームのレコードを動かすと、親フォームの最後のレコードをさしっぱなしになってしまいます。 Me.B.SetFocus DoCmd.GoToRecord , , acLast これの後にどんな記述をすれば、親フォームのレコードを動かすと同時にサブフォームBも最後の行に移るようにできますでしょうか? 何卒よろしくお願いいたします。

  • ACCESSのフォーム内のレコードへのサブフォーム内のレコードの表示

    いつも色々な方々に大変お世話になっております。 今回は見積書というフォームの中に、得意先一覧というサブフォームがあり、その得意先一覧にはもちろん得意先の名前があります。 現時点では、見積書フォーム内の得意先名レコードにコンボボックスを設置して選べるようにしてあります。 これを得意先一覧サブフォームの中から、見積書フォーム内の得意先レコードに表示させたい、得意先名をダブルクリックすると転記されるようするのは可能でしょうか? 宜しくお願いします。

  • 複数サブフォームで filteron=false

    Access+VBA です フォームに複数のサブフォームでそれぞれフィルタをかけます。 Me.Filter=fstr1 (他のサブフォームでは fstr2・・・・) Me.FilterOn=True 一方のフィルタを解除すると Me.FilterOn=False 他のサブフォームのフィルタも解除されてしまいます。 考えられる原因はなんでしょうか?

  • Access 帳票フォームでカレント行だけ色反転させれますか?

    いつもここのサイトにはお世話になっています。 今回もよろしくお願いします。 Access2002と VBAを使用して、マスターテーブルのメンテナンスの画面を作成しています。 1フォームの構成は上部に入力欄があり、 下部にサブフォームで帳票フォーム形式でテーブルが表示してあります。 下部のテーブルでレコードをクリックすると、上部の入力欄にクリックした部分のレコード(サブフォームのカレント行)内容を表示し、上部の入力欄にてデータの変更/更新を行います。 みなさんに教えていただきたいのは、 下部のサブフォーム部分でクリックした際に、クリックしたレコードの部分だけ色反転させるなどして「目立たせたい」のですが、VBAなどで色の指定を変更しても、サブフォーム全体の色が変わってしまいます。 なんとかして、1目で「カレント行」と「それ以外」とわかるようにする方法はないでしょうか? 補足説明はしますのでなんなりと申し付けてください。 よろしくお願いします。

  • サブフォームに対する表示制御について

    Access97でサブフォームを使用したフォームを作成しています。 サブフォームの明細行の最後に新規レコード行がありますよね。 サブフォームの初期表示時に、この新規レコード行にカーソルを位置付けたいのですが、 Docmd.GoTORecord,,acNewREc とやると、新規レコード行がサブフォームの 最上部にいってしまい、その前にある既存レコードが見えなくなってしまいます。 理想は、サブフォームの1ページが10明細分の大きさで獲ってあるとすると、 新規レコード行を10行目に表示されるようにもっていきたいのですが、 サブフォームに対してこのような制御は可能なのでしょうか。 RecordCountを操作したりしてやってみたのですが、既存レコードの件数によって、 うまくいったりいかなかったりです。 よろしくお願いします。

専門家に質問してみよう