Führen Sie die Aktualisierungsabfrage im VBA-Code aus
Ich versuche, mit Access ein kleines Inventarprogramm zu erstellen, aber ich habe nicht viel Wissen. Was ich bisher getan habe, ist, Dinge zu googeln. Ich habe es geschafft, Code zum Speichern von Daten mit ungebundenen Formularen zu erstellen. Jetzt möchte ich einige bestimmte Felder einer Tabelle durch Daten aktualisieren, die in einem ungebundenen Formular für eine andere Tabelle eingegeben wurden. Die 2 fraglichen Tabellen sind Transaktion und Lager. Lager hat 3 Felder Artikelnr., Ort und Menge. Ich möchte, dass die Lagerbestandsmenge von dem Ort abgezogen wird, an dem der Lagerbestand abgezogen wird, und zu dem Ort, an dem der Lagerbestand abgezogen wird, hinzugefügt wird.
Beispieldaten in TabelleStock
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
Hier ist mein Code für ein ungebundenes Formular:
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
Diese Daten würden in einer Tabelle mit der Bezeichnung "Transaktion" gespeichert, die lediglich eine Aufzeichnung darüber darstellt, was von einem Ort an einen anderen verschoben wurde. Ich möchte, dass der Tabellenbestand mit diesem Formular aktualisiert wird. Wenn also die Teilenummer 2288 von SAWRH001 nach SAWRH005 übertragen wird, sollte der Tabellenbestand automatisch aktualisiert werden. Soweit ich weiß, muss ich eine SQL-Abfrage einbetten, aber ich weiß nicht, wie das in VBA gemacht wird.