在庫管理システムを作りまして、ポツポツ改造しています。
下記のようにサブフォームを使ったフォームを作っていますが、このサブフォームの該当行をダブルクリックすることによってそのレコードの内容を更新する、ということをやってみました。
ここでは、「処理を削除する」 ⇨ 「削除フラグをTrueにする」を該当する行にてフィールド「入出庫」をダブルクリックすると「削除」がTrueになり、チェックが入ります。
詳細は在庫管理システムの記事⇩を参照ください。ここでは、中核の部分だけ記しておきます。
VBAソースコード
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("メイン", dbOpenDynaset) 'dbOpenDynasetは重要です
With rs
.FindFirst "ID=" & Me!ID 'テーブルのキーコード(ここではID)を指定する
.Edit '編集を宣言
.Fields("削除") = True 'テーブル「メイン」のフィールド「削除」を変更する
.Update 'これがないとテーブルがアップデートされない。重要。
End With
Set rs = Nothing
参考
テーブル「メイン」は⇩のような入出庫のテーブルです。詳細は在庫管理システムを参照ください。
ID | オートナンバー型 |
日付 | 日付/時刻型 |
社員コード | 数値型 |
部品コード | 数値型 |
入出庫コード | 数値型 |
数量 | 数値型 |
単位コード | 数値型 |
削除 | Yes/No型 |
削除日付 | 日付/時刻型 |