0

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 1 Jahr
    • 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 1 Jahr
      • 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 1 Jahr
      • 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 1 Jahr
      • 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 1 Jahr
      • 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 1 Jahr
    • 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 1 Jahr
      • 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 1 Jahr
    • 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 1 Jahr
      • Gemeldet - anzeigen

      Mirko geil, das klappt ohne fehler.👋

      Danke. Fx wieder raus und deine Variante rein.

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 9Antworten
  • 56Ansichten
  • 4 Folge bereits