| |

ADO.NET / Datenbankenspezielle Datenbankabfrage VB2008 - Access | |  | Autor: Ralph000 | Datum: 05.12.09 01:38 |
| Hallo zusammen!
Ich habe hier ein für mich diffiziles Abfrageproblemchen an dem ich mir schon länger
die Zähne ausbeiße.
Ich arbeite mit VB 2008 und einer Access Datenbank mit mehreren Tabellen.
In Tabelle "Bestellungen" werden folgende Daten geschrieben....
KundenNr Menge Ware Einzelpreis
der Gesamtpreis wird nach dem wieder einlesen in ein Dataset mit Menge und Einzelpreis errechnet.
Ich sollte jetzt also einen Abfragestring haben der nach Kundennummer selektiert und nach Ware
gruppiert, sprich die selben Warenbezeichnungen sollten zusammengefasst werden und die Menge der Ware aufaddiert werden.
Als Beispiel:
KndNR 1 Menge 2 Ware Äpfel Einzelpreis 5,00
KndNR 1 Menge 2 Ware Birnen Einzelpreis 8,00
KndNR 1 Menge 2 Ware Äpfel Einzelpreis 5,00
KndNR 1 Menge 3 Ware Birnen Einzelpreis 8,00
etc...
sollte das dann folgendermaßen aussehen
KndNR 1 Menge 4 Ware Äpfel Einzelpreis 5,00
KndNR 1 Menge 5 Ware Äpfel Einzelpreis 8,00
etc.....
Ich habe das so gelöst und dachte es funktioniert....
sql = "select kundenNr,SUM(Menge)as Menge , Ware,Einzelpreis from Bestellung " & _
"Group by KundenNr,Ware,Einzelpreis having KundenNR='" & kundennummer & "'" ...tut es eigentlich auch, aber nur solange der Einzelpreis identisch ist, was größtenteils natürlich der Fall ist, aber ich habe Ausnahmen in dem das leider nicht so ist, als Beispiel
Beeren die unterschiedliche Einzelpreise besitzen, aber dennoch als Beeren zusammengefasst werden sollen. Wie gesagt, solange Ware und dazugehöriger Einzelpreis ident ist, klappt wunderbar, nur wenn nicht, werden die separat gelistet und ich habe dann zweimal Beeren da stehen.
Lasse ich allerdings in der groupby anweisung einzelpreis weg, erhalte ich den Fehler, dass der Einzelpreis in der select Anweisung sich nicht in der group Aggregationsfunktion befindet.
Lasse ich den Einzelpreis beim select auch weg, klappt es natürlich nur werden die Einzelpreise nicht mehr mit ausgegeben.
Um eine Aufteilung der Daten in verschiedene Tabellen "Normalisierung" und anschließendem Verbinden
mit join würde ich gerne herumkommen, da sich auch keine Inkonsistenzen ergeben werden, weil kein
Datenbankeintrag mehr geändert werden wird.
Hätte da jemand eine Idee wie ich die Query gestallten könnte, dass das hinhaut?
Vielen Dank!
Gruß Ralph |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|