明細行の挿入①

Pocket

Excelでは明細行を挿入しようとするときは、右クリックですぐに挿入できますが
Accessでは残念ながらそんな簡単な動作さえ、プログラムを使わないとできません。

簡単な例で解説します。

簡単なメインサブフォームを作るので、テーブルを二つ作ります。
メインフォーム用のテーブル。
2804271

サブフォーム用のテーブル。
2804272
この二つのテーブルを基に、メインフォームは単票形式、サブフォームは表形式で
フォームを作り、メインフォームにサブフォームを貼り付けます。
納品書NOでリンクさせます。
2804273

ここで一つ目の工夫。順番フィールドに現在の明細行を入れていきます。
2804274
金額を入力したあとに、次のVBAコードを潜ませます。

Private Sub 金額_AfterUpdate()
Me!順番 = DCount(“*”, “納品書サブ”, “納品書NO=” & Me!納品書NO & “”) + 1
End Sub
Dcount関数で納品書NO毎の明細行を数え、1を足します。

実行結果です。
2804275
納品明細NOはオートナンバーで増えていくため、並べ替えることができないので
この順番フィールドの数字とADOを使って明細行を挿入できるようにしていきます。

====================================
最近は周期的に雨が降り、なかなか畑を耕すタイミングが計れません。
そろそろ夏野菜の苗を畑に植える時期です。これから家庭菜園は
一番面白い季節を迎えます。

本日も最後までお読み頂きありがとうございます。