お世話になります。
アクセスでVBAにチャレンジしながら見積書作成に似たシステムを作ろうとしています。
作りたいイメージは、あらかじめ登録してあるサブレコードとリレーションでつながったテンプレートから、必要なレコードを複数個選択(実際はレコードを表示したリストボックス)してボタンを押すと、作成フォームのほうへコピーされるというものです。
追加クエリを使って、1レコードのコピーはできるようになったのですが、テンプレートから一気に複数個コピーするというものがどうしてもできません。
方法(できればコードも)をご教示いただければありがたいです。
1レコードのコピーは、
1.F_作成フォームにあるリストボックス(テンプレートのレコードを表示しています)からコピーしたいレコードを選択して、コマンドボタンをクリック
2.テンプレートフォームと同じフィールドが用意されたF_作成フォームに内容を転記
3.追加クエリにて、ID(主キー)によってリンクされたサブレコードをF_作成のサブフォームにコピー
というものをVBA+追加クエリで作りました。
素人作成で大変お恥ずかしいですが参考に作成したコードを下記に示します。
ちなみにコードの中でFor~Nextを使っているのは、新しいレコードを記入すると自動採番されて、番号というフィールドに登録され、番号の小さいもの順に並べられるようにしたもので、下記コード中の小項目選択リスト.Column(1)が、テンプレートのレコードを示すものです。実際は複数行あります。また、Forms![F_作成]![F_小項目の内訳]がサブフォームとなっていて、ここにサブレコードをコピーしたいです。
Dim B1, B2, re As Long
'番号の自動採番
B1 = Forms![F_作成]![F_小項目].Form![番号]
B2 = Format(DCount("番号", "Q_小項目"))
For i = B1 To B2
Forms![F_作成]![F_小項目].Form![番号].SetFocus
Forms![F_作成]![F_小項目].Form![番号] = i + 1
Forms![F_作成]![F_小項目].Form.Recordset.MoveNext
Next i
'レコード転記
Forms![F_作成]![F_小項目].Form.Recordset.AddNew
Forms![F_作成]![F_小項目].Form![中項目ID] = Forms![F_作成]![中項目リスト値]
Forms![F_作成]![F_小項目].Form![番号] = B1
Forms![F_作成]![F_小項目].Form![名称] = 小項目選択リスト.Column(1)
Forms![F_作成]![F_小項目].Form.Recordset.MoveFirst
Forms![F_作成]![F_小項目].Requery
'追加クエリ(サブフォーム用)
'---------------------------------------------------------
DoCmd.SetWarnings False
DoCmd.OpenQuery "Q_小項目詳細追加"
DoCmd.SetWarnings True
Forms![F_作成]![F_小項目の内訳].Requery
'---------------------------------------------------------
Forms![F_作成]![F_小項目].SetFocus
DoCmd.GoToRecord , , acGoTo, B1
まずは、リストボックスを複数選択できるようにして、選択されたレコードをTPFからACFへコピーして、リレーションで対応するレコードをサブフォームにコピーするって感じだと思うのですが。
以上、よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- その他(ソフトウェア) Googleフォーム、効率的な入れ方 2 2022/10/03 22:44
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
Access サブフォームでの選択行の取得
その他(データベース)
-
ACCESSのサブフォームコピーについて
その他(Microsoft Office)
-
Access:サブフォームのレコードのコピー(複数)
Access(アクセス)
-
-
4
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
5
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
6
access2000:フォームで入力した内容を新規レコードにコピー
その他(データベース)
-
7
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
8
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
9
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
10
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
11
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
12
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
13
Access サブフォームでの複数行選択
その他(プログラミング・Web制作)
-
14
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
15
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
16
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
17
Accessフォームにクロス集計クエリを表示させるとき
Access(アクセス)
-
18
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
19
Accessの帳票フォームで重複データを非表示にしたい
その他(データベース)
-
20
実行時エラー 3020の対策
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSフォーム入力後の確定
-
accessでオートナンバーを使わ...
-
ファイルメーカーで重複してイ...
-
DoCmd.SearchForRecord が動か...
-
アクセエスのレコードの更新をV...
-
Accessでレコードの複製
-
Access「レコードの保存」
-
AccessのRefresh・Requery・Rep...
-
アクセスで複数レコードを1レ...
-
Accessの「Form_AfterUpd...
-
ACCESS 複数のフォームから同一...
-
MSアクセスのフォームで、レ...
-
docmd.gotorecordを起動するには
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
ACCESSでVBAから選択クエリの抽...
-
Access2000、これはいったい・...
-
Access 複数フォームを...
-
インデックスまたは主キーにはn...
-
エクセルのVBAでマクロ実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
ACCESSフォーム入力後の確定
-
Accessでレコードの複製
-
AccessのRefresh・Requery・Rep...
-
accessでオートナンバーを使わ...
-
アクセエスのレコードの更新をV...
-
access の 最終レコードの判定...
-
Accessフォームで詳細内の任意...
-
DoCmd.SearchForRecord が動か...
-
Accessで経過日付に応じて色を...
-
Accessの「Form_AfterUpd...
-
Access 指定したレコードへ移動
-
MS.Access でサブフォーム付の...
-
ACCESS最終データだけ印刷でき...
-
Accessのレコード数をテキスト...
-
アクセスで複数レコードを1レ...
-
ファイルメーカーProでレコード...
-
ACCESS 単票形式フォームの新...
-
MSAccess ロック状態かどうかを...
-
禁止文字をエクセルかアクセス...
おすすめ情報