Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

Daten einer Spalte einer tabelle in einen anderen Datensatz der selben Tabelle

Mehr
1 Jahr 9 Monate her - 1 Jahr 9 Monate her #4734 von Stefan Gawert
Hallo,
Ich habe eine Tabelle mit ID Artikelnummer und Preisen sowie Preisnummer.
ID automatisch immer eine andere. Preisnummer von 1 bis 8 also je Acht Datensätze mit gleicher Artikelnummer. Ich möchte nun den Preis vom Datensatz mit Preisnummer 1 in den Datensatz mit Preisnummer 2 Schreiben lassen.
Wie gehe ich da am besten vor?

Dank im voraus,
Stefan
Letzte Änderung: 1 Jahr 9 Monate her von Stefan Gawert.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 9 Monate her #4735 von FlowHeater-Team
Hallo Herr Gawert,

folgendes Vorgehen könnte ich mir vorstellen.
  1. READ Seite anhand eines SELECTs einschränken, so dass nur Datensätze mit Preisnummer = 1 gelesen werden
    z.B. select * from [t_Preise] where Preisnummer = 1

  2. Die WRITE Seite so konfigurieren, dass nur Datensätze aktualisiert (UPDATES) werden. Zusätzlich muss der PrimaryKey (im FlowHeater) auf Artikelnummer und Preisnummer geändert werden. Siehe Screenshot

  3. Damit jetzt die Datensätze mit Preisnummer = 2 geändert werden muss für Preisnummer ein statischer Wert (über den X-Value Heater ) verwendet werden.

Im Anhang finden Sie ein kleines Beispiel dazu. Das Beispiel verwendet den Access Adapter (inkl. mdb Datenbank), kann aber 1:1 auch für den SQL Server Adapter verwendet werden.

 

 

Dateianhang:

Dateiname: preisabgleich.zip
Dateigröße:16 KB

 

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.

Mehr
1 Jahr 9 Monate her #4737 von Stefan Gawert
Hallo Herr Stark,
vielen Dank für die Richtungsweisung. In der Theorie funktioniret der Weg, nur leider in der Praxis nicht ganz.
Das SQL-Skript sieht folgendermaßen aus: (nur zur Darstellung 1. Zeile)
update dbo.[ARPRE] set [Zuschlag] = 118.7857, [Preis] = 7.39495798319328, [StueckPreis] = 0.756302521008403 where [ArtID] = 1668 and [PrNr] = N'3'
FH meldet alle Datensätze korrekt geschrieben, in der DB passiert allerdings nichts.
Ich habe dies mal als Ansatz genommen um weiter zu probieren und in SSMS das Skript laufen lassen dort bekomme ich als Rückmeldung 0 Datensätze betroffen. wenn ich and [PrNr] = N'3' in and [PrNr] = '3' ändere funktioniert es einwandfrei. Woher kommt dieses N und wie bekomme ich es weg?

mit Dank im voraus

Stefan Gawert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 9 Monate her #4738 von Stefan Gawert
Klappt jetzt das N kam von Unicode

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 9 Monate her #4739 von FlowHeater-Team
Hallo Herr Gawert,

das ist komisch  Hiermit wird lediglich angegeben, dass es sich bei der Zeichenfolge um eine Unicode Zeichenfolge handelt. Der SQL Server wandelt das dann automatisch in die richtige Codepage um, die zum abspeichern verwendet werden soll. Wenn Sie NCHAR bzw. NVARCHAR Datentypen verwenden, werden diese nicht weiter umgewandelt, sondern direkt als Unicode Zeichenfolgen abgelegt.

Eigentlich sollte das auch bei Zeichenfolgen im WHERE Ausdruck egal sein. Welche SQL Server Version setzen Sie denn ein?

PS: Das „N“ vor Zeichenfolgen können Sie in dem Erweiterten Einstellungen im SQL Server Adapter ändern bzw. unterdrücken, siehe Screenshot.

 
 

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.

Mehr
1 Jahr 9 Monate her #4740 von Stefan Gawert
Funktioniert bestens.
Danke
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.297 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.