Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Gruppierte Abfrage mit Summe / Parameterwert erscheint

Begonnen von Micharius, Dezember 10, 2018, 14:11:52

⏪ vorheriges - nächstes ⏩

Micharius

Hallo zusammen

In einer Abfrage habe ich Daten ähnlich wie dieser Struktur:
















ArtikelIDPreisAnzahlPreisTotalweitererWert
110011003
1100110015
110011007
220024004
220024006
220024003
220024002
2200240018
6500420001
6500420009
65004200025
6500420004
65004200094

Feld "Preis" ist ein aufgrund einer WENN Formel ermittelter Betrag: Entweder wird das Feld "Preis" aus einer Preisliste genommen, oder ein vom Benutzer eingegebener Wert (Im Formular kann der Benutzer den vorgeschlagenen Preis übersteuern). Weiter wird der Betrag dann mit einem Fremdwährungskurs und Margenkurs multipliziert.

Der Wert PreisTotal ist dann:

Preistotal:[Preis]*[Anzahl]

In einer normalen Abfrage funktioniert das problemlos. Was ich nun machen sollte, wäre ein Gruppierung über diese Daten. Schlussendlich benötigte ich die Summen des Felds weitererWert:







ArtikelIDPreisAnzahlPreisTotalweitererWert
GruppierungGruppierungGruppierungGruppierungSumme

1100110025
2200240033
650042000133

Das klappt aber nicht, ich erhalte immer einen "Parameterwert eingeben" für das Feld Preis.

Warum ist das so? Ich kann dann (scheinbar) einen beliebigen Wert als Parameter eingeben, und die Werte werden mir korrekt angezeigt.

Vielen Dank für eure Hilfe,

Micharius

MzKlMu

Hallo,
wie wäre es, wenn Du die Abfrage mit der Gruppierung zeigst (SQL) ?
Wie sonst soll man da helefen können ?
Gruß Klaus

ebs17

Formularbezüge in Abfragen haben ihre Besonderheiten: Nichtfunktionieren in bestimmten Konstellationen.
Mit freundlichem Glück Auf!

Eberhard

Micharius

Hallo zusammen

Hier gerne der SQL Code dieser Abfrage:

SELECT tblZuordnDossierArtikel.ZuoDosArtDosIDRef, IIf([ZuoDosArtPreisCHFbrut] Is Null,[SoftwPreisCHF],[ZuoDosArtPreisCHFbrut]) AS ExportpreisEinzeln, tblZuordnDossierArtikel.ZuoDosArtAnzahl, [ZuoDosArtAnzahl]*[ExportpreisEinzeln] AS ExportpreisGesamt, Sum(([ArtMapPL]+[ArtMapSpezi])*[DosStundensatz]) AS DienstlPreisTotal

FROM (tblSWHersteller INNER JOIN (tblSoftware INNER JOIN tblArtikelAufwandMapping ON tblSoftware.SoftwID = tblArtikelAufwandMapping.ArtMapSoftwIDRef) ON tblSWHersteller.SWHerstID = tblSoftware.SoftwSWHerstIDRef) INNER JOIN (tblDossiers INNER JOIN tblZuordnDossierArtikel ON tblDossiers.DosID = tblZuordnDossierArtikel.ZuoDosArtDosIDRef) ON tblSoftware.SoftwID = tblZuordnDossierArtikel.ZuoDosArtSoftwIDRef

GROUP BY tblZuordnDossierArtikel.ZuoDosArtDosIDRef, IIf([ZuoDosArtPreisCHFbrut] Is Null,[SoftwPreisCHF],[ZuoDosArtPreisCHFbrut]), tblZuordnDossierArtikel.ZuoDosArtAnzahl, [ZuoDosArtAnzahl]*[ExportpreisEinzeln];


Es scheint irgendein Problem mit der WENN Abfrage im Feld ExportPreisEinzeln zu sein...

Vielen Dank im Voraus, dass ihr einen Blick darauf werft.

Grüsse

Micharius

Lachtaube

Ob ich die Feldnamen den richtigen Tabellennamen zugeordnet habe, weiß ich nicht. Ebenso bin ich skeptisch, dass die Summe richtig berechnet wird. Auf jedenfall musst Du von den vielen Gruppierungen weg.

Probiere einmalSELECT zda.ZuoDosArtDosIDRef,
       First(Nz(zda.ZuoDosArtPreisCHFbrut,
                s.SoftwPreisCHF)) AS ExportpreisEinzeln,
       First(zda.ZuoDosArtAnzahl) AS ZuoDosArtAnzahl,
       First(zda.ZuoDosArtAnzahl
           * Nz(zda.ZuoDosArtPreisCHFbrut,
           s.SoftwPreisCHF)) AS ExportpreisGesamt,
       Sum((aam.ArtMapPL + aam.ArtMapSpezi)
         * d.DosStundensatz) AS DienstlPreisTotal
FROM   (tblSWHersteller h
        INNER JOIN (tblSoftware s
               INNER JOIN tblArtikelAufwandMapping aam
                  ON s.SoftwID = aam.ArtMapSoftwIDRef)
           ON h.SWHerstID = s.SoftwSWHerstIDRef)
       INNER JOIN (tblDossiers d
                   INNER JOIN tblZuordnDossierArtikel zda
                 ON d.DosID = zda.ZuoDosArtDosIDRef)
          ON s.SoftwID = zda.ZuoDosArtSoftwIDRef
GROUP  BY zda.ZuoDosArtDosIDRef;


PS: vermutlich ist die Herstellertabelle gar nicht notwendig.
PPS: wenn's nicht funktioniert, am besten ein kleines Beispiel mit wenigen anonymen Spieldaten und der bisher funktionierenden Abfrage als Anhang hochladen.
Grüße von der (⌒▽⌒)

Micharius

Hallo Lachtaube

Der SQL Code funktioniert nicht schlecht, mit ein paar Anpassungen bin ich fast am Ziel angelangt. Leider nur fast. Komme gerne auf das Angebot mit dem Beispiel zurück, dafür benötige ich aber etwas Zeit...

Bis bald,

Micharius

Micharius

...nochmals drüber geschlafen, und heute nochmals angeschaut. Nun klappt's!

Herzlichen Dank, Lachtaube, für den Lösungsansatz!

@Alle - scheck ich es nun gar nicht mehr? Wo kann ich ein Thema auf "gelöst" stellen?