ich habe ein Problem wo ich nicht wirklich weiß wie ich das angehen soll bzw. wie ich die Abfrage machen muss. Ich habe eine Tabelle Datensätze wo ich die Felder Nr, Name, Gegenstand, Anzahl, Raumnr & Datensätze drin habe. Nun habe ich in einem Formular, wie hier im Bild:

So wenn ich dann irgendwas bei den Feldern eintrage und dann auf speichern klicke wird dies sofort in einer Tabelle gespeichert.
Meine Ziel:
Wenn ich nun auf speichern klicke das er dies nicht nur in der Tabelle "Datensätze" abspeichert sondern auch wenn z.B. der Gegenstand Auto heißt den Gegenstand in der zweiten Tabelle "Lagerbestand" Auto findet und die Anzahl davon abzieht.
Wie kann man das VBA technisch oder auch anders realisieren? Hatte jemand vielleicht ein Code Beispiel?
Weiß nicht ob das hilft aber hier der code vom speicher Button:
Private Sub speichern_Click()
Dim dbs As DAO.Database
Dim strText As String
strText = ""
If DCount("*", "Datensätze", _
"Gegenstand= '" & Me!Gegenstand & "'") > 0 Then
If strText <> "" Then strText = strText & " und der "
strText = "Gegenstand '" & Me!Gegenstand & "'"
End If
If strText <> "" Then
MsgBox "Der " & strText & " ist bereits in der Tabelle vorhanden!", _
51, "WICHTIG"
Cancel = True
Else
Set dbs = CurrentDb
strSQL = "INSERT INTO [Datensätze] " & _
"(Name, Gegenstand, Raumnr, Anzahl, Datum) " & _
"VALUES ('" & Me![Name] & "','" & Me!Gegenstand & "', " & _
Me!Raumnr & " ," & _
Me!Anzahl & " ,#" & _
Format(Me![Datum], "yyyy-mm-dd") & "#)"
' Debug.Print strSQL 'Ausgabe im Direktfenster (Strg+G; Testfenster)
dbs.Execute strSQL, dbFailOnError '<<<<----hier
Set dbs = Nothing
End If
' Speichercode
'z.B. Meldung nach erfolgreichem Speichern
A = MsgBox("Erfolgreich gespeichert!")
'z.B. noch ne Meldung, ob Felder gelöscht werden sollen
If MsgBox("Felder löschen?", vbYesNo) = vbYes Then
Me!Nr = Null
Me!Name = Null
Me!Gegenstand = Null
Me!Raumnr = Null
Me!Anzahl = Null
Me!Datum = Null
End If
End Sub
Mfg
Mal4ik

Hilfe
Neues Thema
Antworten


Nach oben

