使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
> 以前作成した注文書を注文番号で呼び出してコピーを作成し、
> 新規注文書の元データとすることができると助かります。
> 注文番号がメイン、サブフォームのリンク項目となっています。
とりあえず、メインフォームのレコードソースが[注文書テーブル]、
サブフォームのレコードソースが[注文書明細テーブル]であると仮定して、
・[注文書テーブル]の主キーが[注文番号]であるとして、
[注文番号]のデータ型は何であるか。
・[注文書明細テーブル]の主キーはどのフィールドであるか。
また、そのデータ型は何であるか。
・[注文書テーブル]および[注文書明細テーブル]の
新しいレコードの主キーの値はどのようにして決まるのか。
> サブフォームがなければコピーを作成できました
例えば、[注文書テーブル]の[注文番号]のデータ型が
オートナンバー型である場合は、
- コピー元となる[注文書テーブル]のレコードの[注文番号]の値を取得する。
- [注文書テーブル]のうち、[注文番号]の値が
上記 1 で取得した番号に等しいレコードを抽出し、
そのレコードの[注文番号]以外のフィールドを
[注文書テーブル]の新規レコードとして追加する処理を実行する。
- 上記 2 によって追加されたレコードの[注文番号]の値
(オートナンバーなら最大値)を取得する。
- [注文書明細テーブル]のうち、[注文番号]の値が
上記 1 で取得した番号に等しいレコードを抽出し、
それらのレコードの[注文番号]以外のフィールド
(主キーがオートナンバー型である場合はそれを除く)と
上記 3 で取得した新しい番号を[注文書明細テーブル]の
新規レコードとして追加する処理を実行する。
以上のような一連の操作を、クエリ、マクロ、VBA のコードなどを
駆使して実行なさればよろしいでしょう。