Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Summe aus Menge falsch (https://www.delphipraxis.net/213857-summe-aus-menge-falsch.html)

tkhandel 9. Okt 2023 10:42

Datenbank: easyTable • Version: 18 • Zugriff über: easyTable

Summe aus Menge falsch
 
Mit der folgenden SQL-Abfrage möchte ich feststellen
welche Artikel in welcher Menge verkauft wurden:

SELECT SUM(Menge) AS M, ArtikelNr, Artikelbezeichnung FROM BelegPos
GROUP BY Artikelnr, Artikelbezeichnung
OrDER BY ARTikelnr


Sollte aber ein Artikel zurückgenommen worden sein (also Menge wird dann zB -1 gebucht) der an
diesem Tag nicht verkauft wurde (es sind jeweils nur Positionen eines Tages gespeichert) dann
kommt da ein falscher Wert raus.
Warum kommt bei einem Integer -1 eine Summe von 4278734578 irgendwas raus?
Was kann ich tun damit der Wertrichtig angezeigt wird.

Papaschlumpf73 9. Okt 2023 10:55

AW: Summe aus Menge falsch
 
Moin Jürgen, die SQL-Abfrage sieht sauber aus und sollte mit jeder normalen Datenbank auch so funktionieren. Liegt das ggf. an easyTable? Ich hab da noch nie was von gehört.

Olli73 9. Okt 2023 11:04

AW: Summe aus Menge falsch
 
Sieht für mich nach unsigned Integer aus...

haentschman 9. Okt 2023 11:19

AW: Summe aus Menge falsch
 
Hallöle...8-)

Um zu Vergleichen, ob das an der verwendeten DB liegt, brauchen wir mal ein paar Beispieldaten als CSV. Desweiteren: Was erwarte ich, was bekomme ich. (Datensätze)

Uwe Raabe 9. Okt 2023 11:27

AW: Summe aus Menge falsch
 
Zitat:

Zitat von Papaschlumpf73 (Beitrag 1527858)
easyTable? Ich hab da noch nie was von gehört.

Ich glaube, das ist von AidAim - aber ich verlinke das jetzt bewusst nicht.

QuickAndDirty 9. Okt 2023 14:19

AW: Summe aus Menge falsch
 
Also poste mal Beispieldaten.

tkhandel 9. Okt 2023 15:20

AW: Summe aus Menge falsch
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ja, AidAim ist richtig. Wir haben das mal als BDE Ersatz genommen
für Projekte ohne große Installation war das ganz lustig hat aber
leider viele solcher komischen nicht nachvollziehbaren Fehler.

In der Datenbank ist ein Integer Felde für Menge in das auch bei
Warenrücknahme mit - vorzeichen gebucht werden kann.

Die Daten sind wirklich Sauber, er rechnet richtig sobald der
Artikel mehrfach vorkommt besser gesagt vor der Gutschrift am
mind. 1x verkauft wurde.
Hat man aber den seltenen Fall das der Artikel heute zurückgegeben
wird obwohl er heute nicht verkauft wurde geht es Schief.
Menge ist ein einfaches Integer Feld, Ergebnis ein Large Integer

Rolf Frei 9. Okt 2023 15:46

AW: Summe aus Menge falsch
 
Welchen Datentyp hat die Tabelle da bei diesem Feld? Ich vermutet Unsigned Int oder Cardinal. Das Feld müsste vom Datentyp INTEGER sein, damit da -1 auch als -1 kommt. Unter Umständen musst du den Datenfeldtyp ändern oder einen CAST machen, sofern das mit dieser DB geht.

haentschman 9. Okt 2023 15:46

AW: Summe aus Menge falsch
 
:shock:
Zitat:

leider viele solcher komischen nicht nachvollziehbaren Fehler.
...imho liegt das an der Datenbank. Wenn in der Tabelle eine -1 steht und im SQL 4123456... raus kommt, ist es Zeit für einen Wechsel der Datenbank. :? Wäre das möglich?

himitsu 9. Okt 2023 15:53

AW: Summe aus Menge falsch
 
Mischmasch mit Signed- und Unsigned-Typen, sowie auch Konvertierungsprobleme zwischen 32 und 64 Bit. :gruebel:

Bei 32 Bit entspricht eine signed -1 nunmal einem unsigned 4.294.967.295 .... es kommt einfach nur drauf an, wie man das höchste Bit interpretiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz