0

Etiketten drucken aus Kundenadressen

Hallo allerseits,

Das Thema kommt schon mehrfach vor im Forum, aber die passende Lösung habe ich nicht gefunden. Ich möchte ebenfalls 3 x 8 Adressen auf eine A4-Seite drucken. Vorgehen: Ich erzeuge temporäre Datensätze für den Druck in einer Untertabelle "Etiketten". Ein Datensatz enthält drei mehrzeilige Textfelder (Adresse1 - Adresse3). Ich versuche die Datensätze mit nachfolgendem Skript zu erzeugen und mit den Adressen zu füllen:

(Zur Vereinfachung werden hier nur die Firmennamen eingefügt)

let myAnzahl := cnt(select Kunden);
let myLoops := ceil(myAnzahl / 3);
let x := 0;
let k := first(select Kunden);
while myLoops > x do
let y := (create Etiketten);
let l := first(select Kunden where Nr = k);
y.(Adresse1 := l.Firma);
let m := first(select Kunden where Nr > l);
y.(Adresse2 := m.Firma);
let n := first(select Kunden where Nr > m);
y.(Adresse3 := n.Firma);
k := first(select Kunden where Nr > n);
x := x + 1
end

Ergebnis: Die ersten zwei Datensätze werden korrekt erstellt, beim dritten wird noch die erste Adresse eingefügt und ab dann bleiben die restlichen Felder und weiteren Datensätze leer. Hat jemand eine Idee, wie sich das beheben lässt?

So sieht's aus

Besten Dank und Gruss, Stefan

2 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Stefan,
    vielleicht so:

    ---

    let me:=this;
    for i from 0 to cnt(select Kunden) step 3 do
    let new := (create Etiketten);
    new.HAUPTTABELLENNAME:=me;

    new.Adresse1:=item(select Kunden,i).Firma;
    new.Adresse2:=item(select Kunden,i+1).Firma;
    new.Adresse3:=item(select Kunden,i+2).Firma;
    end

    ---

    Leo

    • Stefan_Munsch
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    das funktioniert perfekt! Und sehr elegant gelöst.

    Herzlichen Dank und Gruss, Stefan

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 2Antworten
  • 1086Ansichten