Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Währung aus ungebundenen Textfeld in einer Tabelle speichern

Begonnen von Spandaccess, Dezember 22, 2022, 10:58:54

⏪ vorheriges - nächstes ⏩

Spandaccess

Guten Morgen liebes Access-Forum,

ich bastel gerade an einem ERP/CRM Programm basierend auf Access und mache auch schon gute Fortschritte und dies obwohl ich absoluter Anfänger bin.
Diverse Bücher gekauft/gelesen und etliche Videos geschaut.

Nun zu meinem Problem:
Thema Rechnung für Kunde mit mehreren Positionen, der Aufbau ist wie folgt -> Ein Form welches die Kunden und Auftragsdaten enthält
Ein Sub-form in welchem die Positionen (inkl. aller Dinge wie Verfahren,Maße und Preis gelistet sind) dieses Sub-form besteht aus einem Datenblatt welches am Ende alle Einzelpreise zusammenaddiert um den Nettopreis zu bilden.


Ich erstelle also eine Rechnung auf der die Positionen des Auftrags des Kunden gelistet sind inkl. deren Einzelpreise, nachdem diese summiert wurden möchte ich gerne den Wert des Textfeldes (Währung) automatisch in einer Tabelle namens "InvoiceDetails" abspeichern.
Zur Zeit habe ich es mit diesem Makro welches an einen Button gebunden ist versucht aber leider nicht funktioniert:

Private Sub Befehl41_Click()
CurrentDb.Execute "INSERT INTO tbl_invoice (Gesamt_Netto) VALUES ('" & Gesamt_Netto & "')"

MsgBox "Datei gespeichert"
End Sub

Über Hilfe würde ich mich riesig freuen da mir das Projekt an sich sehr Spaß macht :)

DF6GL

Hallo,

abgesehen davon, dass eine Speicherug eines berechneten Feldes in aller Regel überflüssig/falsch ist,
fehlt im Insert-Statement die Referenz (RechnungsID) auf die betreffende Rechnung. Weiterhin hat "Gesamt_Netto" den Datentyp "Währung" (in der Tabelle) und ist kein Text, wie in deinem Beispiel geschrieben.


CurrentDb.Execute "INSERT INTO tbl_invoice (Gesamt_Netto) VALUES (" & Str(nz(Me!Gesamt_Netto,0)) & ")"

Spandaccess

Ja dies habe ich nun auch schon ein paar Mal gelesen,da ich aber Anfänger bin erschien es mir als beste Lösung die ich umgesetzt bekomme.

Wie füge ich dem meine RechnungsID hinzu und kann er dann aus dem aktuellen Datenblatt jedesmal die ID entnehmen sodass die Summen richtig zugeordnet werden?

Vielen Dank dir!  :)  ;)

MzKlMu

Hallo,
warum lässt es es nicht einfach sein, wäre doch die einfachste Lösung. Zumal Du es schon mehrfach gelesen hast.
Warum willst Du trotzdem den Gesamt_Netto speichern ?
Gruß Klaus

Spandaccess

Was wäre denn die Alternative?
Ich brauche halt für das Buchen von Rechnungen den Gesamt Netto / Brutto Wert zum abgleichen damit diese ausgetragen werden können.

Beaker s.a.

Hallo,
Vorweg; - für mich sind die Einzelpreise für die Berechnung des Rechnungsbetrages
nicht relevant. Diese werden doch normalerweise mit einer Menge multipliziert,
ergeben damit die Positionsbeträge, welche dann erst aufaddiert werden.
Falls bei dir die Menge immer 1 ist (soll's ja geben) kannst du das Feld "P.Anzahl"
im u.a. Code löschen.
(Luftcode, ausgehend von der richtigen Beziehung von Rechnung zu Positionen)
SELECT
P.RechnungIDF,
Sum(P.EP*P.Anzahl) AS NettoGesamt,
Sum(P.EP*P.Anzahl*P.MwStSatz) AS BruttoGesamt
FROM RechnungsPositionen AS P
GROUP BY P.RechnungIDF
zeigt die Beträge für alle Rechnungen an.
Wenn du eine bestimmte sehen willst, fügst du vor dem GROUP BY noch
das Kriterium ein
WHERE P.RechnungsIDF = DeineRechID(Feldnamen anpassen)

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)