- Beiträge: 5
zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
- Kraus
- Autor
- Offline
- Benutzer
Weniger
Mehr
11 Jahre 11 Monate her #1179
von Kraus
zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle wurde erstellt von Kraus
Folgende Situation:
Eingabetabelle enthält:
Artikelnummer
Prozentsatz
SQLtabelle Preise enthält u.a
Artikelnummer
Verkaufspreis
Aufgabe:
Aufgrund der Texttabelle/EXCEL soll der Verkaufspreis
entsprechend des hinterlegten Prozentsatzes in der SQL-Datenbank erhöht werden.
Gibt es ein Beispiel oder wie wäre der Lösungsansatz.
Herzlichen Dank
Eingabetabelle enthält:
Artikelnummer
Prozentsatz
SQLtabelle Preise enthält u.a
Artikelnummer
Verkaufspreis
Aufgabe:
Aufgrund der Texttabelle/EXCEL soll der Verkaufspreis
entsprechend des hinterlegten Prozentsatzes in der SQL-Datenbank erhöht werden.
Gibt es ein Beispiel oder wie wäre der Lösungsansatz.
Herzlichen Dank
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
11 Jahre 11 Monate her #1180
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Aw: zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
Hallo Herr Kraus,
um mit dem alten Preis in der Definition rechnen zu können müssen Sie diesen mittels des SQL Heaters aus der Tabelle lesen (Datenbank Lookup). Damit nur Updates auf der WRITE Seite generiert werden deaktivieren Sie die Option "Daten anfügen (Insert)" und aktivieren dafür die Option "Daten aktualisieren (update)" im Configurator auf der WRITE Seite.
Ziehen Sie nun einen SQL Heater auf den Designer und tragen Sie für das SQL Statement folgendes ein.
select Preis from Ihr-Tabellenname where ArtikelNr = '$ArtNr$'
Hinweis: Falls die Artikelnummer als Zahlenwert (INT, LONG, DECIMAL, ...) im SQL Server gespeichert dürfen Sie die Artikelnummer nicht in Hochkommas einschließen und ggf. über Menü->Bearbeiten->Parameter die Zahlenformatierung auf ohne Tausendertrennzeichen und ggf. ohne Nachkommastellen einstellen.
Hiermit wird die Spalte Preis von der Tabelle "Ihr-Tabellenname" gelesen. Der Parameter $ArtNr$ wird mit dem aktuellen Wert des aktuellen Datensatzes der READ Seite ersetzt. Damit das Funktioniert benötigen Sie noch einen Set Parameter Heater mit dem die aktuelle Artikelnummer der READ Seite dem Parameter $ArtNr$ zugeordnet wird.
Mit dem so ermittelten Wert können Sie ihren Prozentsatz ausrechnen und den neu berechneten Wert der Spalte Preis zuordnen.
Im Anhang finden Sie ein kleines Beispiel dazu. Hier wird anstatt des Excel Adapters eine einfache CSV Datei gelesen sowie wird auf der WRITE Seite eine kleine Access Datenbank verwendet.
um mit dem alten Preis in der Definition rechnen zu können müssen Sie diesen mittels des SQL Heaters aus der Tabelle lesen (Datenbank Lookup). Damit nur Updates auf der WRITE Seite generiert werden deaktivieren Sie die Option "Daten anfügen (Insert)" und aktivieren dafür die Option "Daten aktualisieren (update)" im Configurator auf der WRITE Seite.
Ziehen Sie nun einen SQL Heater auf den Designer und tragen Sie für das SQL Statement folgendes ein.
select Preis from Ihr-Tabellenname where ArtikelNr = '$ArtNr$'
Hinweis: Falls die Artikelnummer als Zahlenwert (INT, LONG, DECIMAL, ...) im SQL Server gespeichert dürfen Sie die Artikelnummer nicht in Hochkommas einschließen und ggf. über Menü->Bearbeiten->Parameter die Zahlenformatierung auf ohne Tausendertrennzeichen und ggf. ohne Nachkommastellen einstellen.
Hiermit wird die Spalte Preis von der Tabelle "Ihr-Tabellenname" gelesen. Der Parameter $ArtNr$ wird mit dem aktuellen Wert des aktuellen Datensatzes der READ Seite ersetzt. Damit das Funktioniert benötigen Sie noch einen Set Parameter Heater mit dem die aktuelle Artikelnummer der READ Seite dem Parameter $ArtNr$ zugeordnet wird.
Mit dem so ermittelten Wert können Sie ihren Prozentsatz ausrechnen und den neu berechneten Wert der Spalte Preis zuordnen.
Im Anhang finden Sie ein kleines Beispiel dazu. Hier wird anstatt des Excel Adapters eine einfache CSV Datei gelesen sowie wird auf der WRITE Seite eine kleine Access Datenbank verwendet.
Anhang update_preise_berechnung.zip wurde nicht gefunden.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Kraus
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 5
11 Jahre 11 Monate her #1181
von Kraus
Kraus antwortete auf Aw: zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
Hallo H. Stark,
zunächst besten Dank für die schnelle Antwort.
in Ihrem Beispiel gibt es auf der Write Seite zwei Preisfelder (Preis und AlterPreis).
In der DB gibt es nur ein Preisfeld,
welches um den Prozentsatz erhöht werden soll.
Ich möchte vermeiden die DB um zusätzliche Felder zu ergänzen. Ist das möglich?
Danke und viele Grüße
zunächst besten Dank für die schnelle Antwort.
in Ihrem Beispiel gibt es auf der Write Seite zwei Preisfelder (Preis und AlterPreis).
In der DB gibt es nur ein Preisfeld,
welches um den Prozentsatz erhöht werden soll.
Ich möchte vermeiden die DB um zusätzliche Felder zu ergänzen. Ist das möglich?
Danke und viele Grüße
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
11 Jahre 11 Monate her #1182
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Aw: zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
Hallo Herr Kraus,
das Feld habe ich nur zur bessren Verständnis eingefügt, damit Sie in dem Beispiel bei mehrmaligen Updates nachvollziehen können was der ursprüngliche alte Preis war.
Sie können natürlich direkt das Preis feld aktuallisieren. Sie benötigen nur das PrimaryKey Feld (ArtikelNr) sowie das eigentliche Preis Feld.
Zum test können Sie das Feld "AlerPreis" aus der Feldauflisting einfach löschen, die Definition wird weiterhin funktionieren.
das Feld habe ich nur zur bessren Verständnis eingefügt, damit Sie in dem Beispiel bei mehrmaligen Updates nachvollziehen können was der ursprüngliche alte Preis war.
Sie können natürlich direkt das Preis feld aktuallisieren. Sie benötigen nur das PrimaryKey Feld (ArtikelNr) sowie das eigentliche Preis Feld.
Zum test können Sie das Feld "AlerPreis" aus der Feldauflisting einfach löschen, die Definition wird weiterhin funktionieren.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Kraus
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 5
11 Jahre 11 Monate her #1183
von Kraus
Kraus antwortete auf Aw: zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
Hallo Herr Stark,
ich habe das getestet, dabei gibt es noch folendes Problem:
Datenbank:
Artikel ab Menge Preis
1 50,00 100,00
1 100,00 80,00
usw.
Es sind also mehrere gleiche Artikelnummern vorhanden, mit einer Staffel und dementsprechend anderem Preis.
Führt man das Beispiel durch, werden alle Staffeln mit der ersten Preiserhöhung verändert. Das Erbenis ist dann, dass der Artikel in allen Staffeln den gleichen Preis hat.
ich habe das getestet, dabei gibt es noch folendes Problem:
Datenbank:
Artikel ab Menge Preis
1 50,00 100,00
1 100,00 80,00
usw.
Es sind also mehrere gleiche Artikelnummern vorhanden, mit einer Staffel und dementsprechend anderem Preis.
Führt man das Beispiel durch, werden alle Staffeln mit der ersten Preiserhöhung verändert. Das Erbenis ist dann, dass der Artikel in allen Staffeln den gleichen Preis hat.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
11 Jahre 10 Monate her #1184
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Aw: zusätzliche Felder updaten/berechnen aufgrund Eingabetabelle
Hallo Herr Kraus,
dann ist die Lösung über den SQL Heater nicht brauchbar, da hier der Bezug zu einem eindeutigen Datensatz fehlt.
Wenn Ihre SQL Tabelle einen Primary Key hat (z.B. AutoIncrement) hat können Sie folgendermaßen vorgehen.
Verwenden Sie den benötigten Datenbank Adapter auf der READ sowie auf der WRITE Seite. Geben Sie auf der READ Seite die gleiche Tabelle wie auf der WRITE Seite an. Lesen Sie die Felder ein und verbinden Sie die Primary Key Felder der READ mit der WRITE Seite.
Dann benötigen Sie noch einen String Replace Heater mit dem Sie den Prozentsatz aus einer CSV Textdatei, ähnlich wie mit dem SQL Heater, einlesen können. Die Berechnung ist dann die gleiche wie im vorherigen Beispiel
Sie schreiben, dass die Prozentwerte in einer Excel Datei vorliegen. Diese müssten Sie vorher mit Hilfe einer weiteren Definition in eine CSV Datei umwandeln.
In der Anlage ist dazu wieder ein kleines Beispiel. Im Beispiel werden zusätzlich nicht vorhandene Preiserhöhungen gefiltert.
Ein weiteres Beispiel zum String Replace Heater finden Sie hier Formsbeitrag Beispiel zum CSV Lookup
Hinweis: Damit dieses Beispiel funktioniert müssen Sie auf der WRITE Seite Datenbanktransaktionen deaktivieren, s.Bild.
dann ist die Lösung über den SQL Heater nicht brauchbar, da hier der Bezug zu einem eindeutigen Datensatz fehlt.
Wenn Ihre SQL Tabelle einen Primary Key hat (z.B. AutoIncrement) hat können Sie folgendermaßen vorgehen.
Verwenden Sie den benötigten Datenbank Adapter auf der READ sowie auf der WRITE Seite. Geben Sie auf der READ Seite die gleiche Tabelle wie auf der WRITE Seite an. Lesen Sie die Felder ein und verbinden Sie die Primary Key Felder der READ mit der WRITE Seite.
Dann benötigen Sie noch einen String Replace Heater mit dem Sie den Prozentsatz aus einer CSV Textdatei, ähnlich wie mit dem SQL Heater, einlesen können. Die Berechnung ist dann die gleiche wie im vorherigen Beispiel
Sie schreiben, dass die Prozentwerte in einer Excel Datei vorliegen. Diese müssten Sie vorher mit Hilfe einer weiteren Definition in eine CSV Datei umwandeln.
In der Anlage ist dazu wieder ein kleines Beispiel. Im Beispiel werden zusätzlich nicht vorhandene Preiserhöhungen gefiltert.
Ein weiteres Beispiel zum String Replace Heater finden Sie hier Formsbeitrag Beispiel zum CSV Lookup
Hinweis: Damit dieses Beispiel funktioniert müssen Sie auf der WRITE Seite Datenbanktransaktionen deaktivieren, s.Bild.
Anhang update_preise_berechnung2.zip wurde nicht gefunden.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.292 Sekunden