私はAccessを使用して小さな在庫プログラムを作成しようとしていますが、これまでに行ったことはグーグルで行うことで、あまり知識がありません。バインドされていないフォームを使用してデータを格納するコードを作成できました。次に、別のテーブルのバインドされていないフォームに入力されたデータによって、テーブルの特定のフィールドを更新したいと思います。問題の2つのテーブルは、TransactionとStockです。在庫には、PartNo、Location、およびQtyの3つのフィールドがあります。在庫のある数量を、在庫が移動する場所から差し引いて、移動する場所に追加したいと思います。
表のサンプルデータStock
Stock_PartNo Stock_Location Stock_Qty
2288 SAWRH001 85
2288 SAWRH002 54
3214 SAWRH003 544
4567 SAWRH001 32
5555 SAWRH002 128
5555 SAWRH005 874
5678 SAWRH002 321
6544 SAWRH004 465
6666 SAWRH003 45
6666 SAWRH004 87
7777 SAWRH003 365
7890 SAWRH002 352
8765 SAWRH005 57
8888 SAWRH004 54
9999 SAWRH005 21
バインドされていないフォームのコードは次のとおりです。
Private Sub Command39_Click()
Dim db As Database, rsCust As Recordset
Set db = CurrentDb
Set rsCust = db.OpenRecordset("Transaction", DB_OPEN_DYNASET)
rsCust.AddNew
rsCust("Trans_PartNo") = Me!Combo52
rsCust("Trans_Desc") = Me!Text19
rsCust("Trans_Disp") = Me!Text21
rsCust("Trans_Recv") = Me!Text23
rsCust("Trans_Qty") = Me!Text25
rsCust("Trans_Date") = Me!Text29
rsCust.Update
MsgBox "Material transfer information has been updated"
Call ClearControls
rsCust.Close
db.Close
End Sub
このデータは、ある場所から別の場所に移動されたものの単なる記録履歴であるトランザクションと呼ばれるテーブルに格納されます。このフォームを使用してテーブル在庫を更新する必要があるため、PartNo 2288がSAWRH001からSAWRH005に転送されると、テーブル在庫が自動的に更新されます。私が理解している限り、SQLクエリを埋め込む必要がありますが、VBAでそれを行う方法がわかりません。