1

Keine doppelten Anzeigen in Ansicht

Grüßt euch,

ist bestimmt ganz einfach wenn man es weis. Wie kann ich einer Ansicht sagen das sie keine Doppelten Einträge anzeigt. Gefiltert soll nach dem Auswahlfeld "Lager" werden. So das die Läger nur einen Eintrag haben zu der jeweiligen Rubrik.

so gehts nicht 😫

let auswahl := text('Artikelgruppe wählen');
let lagerauswahl := unique((select Warentabelle).text(Lager));
first((select Warentabelle where text(Lager) = lagerauswahl and Artikelgruppe = auswahl) order by text(Lager))

9 Antworten

null
    • Torsten_Stang.1
    • vor 2 JahrenWed, January 18, 2023 at 10:15 AM UTC
    • Gemeldet - anzeigen

    ich bin einigermassen verwirrt - Du übergibst an die Variable 'lagerauswahl' ein array und vergleichst das später mit einem Feldinhalt - wie soll das funktionieren?

      • Michi.1
      • vor 2 JahrenWed, January 18, 2023 at 10:22 AM UTC
      • Gemeldet - anzeigen

      Torsten Stang gar nicht... hab nur keine Ahnung wie. 

      text(Artikelgruppe) ist angewählt. jetzt sollen in der Ansicht die entsprechenden Läger zum vorschein kommen wo diese Artikelgruppe auf lager ist. Aber natürlich jedes Lager nur einmal angezeigt werden. 

      Auswahlfeld "Lager" ist in der Abfrage Tabelle "Warentabelle"

      • Torsten_Stang.1
      • vor 2 JahrenWed, January 18, 2023 at 11:00 AM UTC
      • Gemeldet - anzeigen

      Michi die Lager hast Du nicht in einer Tabelle? Dann wirst du nur über Gruppierung des Feldes 'Lager' zum Ziel kommen, fürchte ich.

      • Michi.1
      • vor 2 JahrenWed, January 18, 2023 at 11:27 AM UTC
      • Gemeldet - anzeigen

      Torsten Stang hab es mal so versucht. Die Daten stecken in der Tabelle: Warentabelle

      (die Weiterverarbeitung der Artikelgruppen (aus suchen der Ware)  wird mit klick auf das entsprechende Lager, weiter verfolgt. für eine bessere Übersicht)

      • Michi.1
      • vor 2 JahrenWed, January 18, 2023 at 1:35 PM UTC
      • Gemeldet - anzeigen

      hab mir jetzt mit einem Zähler in Warentabelle geholfen, aber schön ist das nicht. Geht das wirklich nicht anders?

      --- Zähler für anzahl Doppelte in Warentabelle ----
      
      let lag := number(Lager);
      let pos := number(Nr);
      let art := Artikelgruppe;
      format(cnt(select Warentabelle where number(Lager) = lag and Artikelgruppe = art and number(Nr) <= pos), "0")
      
      ---- Ansicht ---
      
      let auswahl := text('Artikelgruppe wählen');
      (select Warentabelle where Artikelgruppe = auswahl and Doppelte < 2) order by text(Lager)
      
    • mirko3
    • vor 2 JahrenWed, January 18, 2023 at 2:57 PM UTC
    • Gemeldet - anzeigen

    meinst Du so?

    let lagerauswahl := unique((select Warentabelle).(text(Lager) + Artikelgruppe));
    for i in lagerauswahl do
        first((select Warentabelle)[text(Lager) + Artikelgruppe = i])
    end
    
      • Michi.1
      • vor 2 JahrenWed, January 18, 2023 at 3:03 PM UTC
      • Gemeldet - anzeigen

      Mirko bringt auch doppelte Ergebnisse. Das einzige was bisher geht ist mit dem Zähler für doppelte Einträge.  Das bringt aber halt ne menge fx felder mit.

    • mirko3
    • vor 2 JahrenWed, January 18, 2023 at 6:01 PM UTC
    • Gemeldet - anzeigen

    mh?

    let auswahl := text('Artikelgruppe auswählen');
    let lagerauswahl := unique((select Warentabelle).(text(Lager) + Artikelgruppe));
    let result := for i in lagerauswahl do
            first((select Warentabelle)[text(Lager) + Artikelgruppe = i and Artikelgruppe = auswahl])
        end;
    result
    
      • Michi.1
      • vor 2 JahrenThu, January 19, 2023 at 7:26 AM UTC
      • Gemeldet - anzeigen

      Mirko geil, das klappt ohne fehler.👋

      Danke. Fx wieder raus und deine Variante rein.