0

Datensätze eines Monats aus Tabelle ausdrucken; Auswahl über Auswahlfeld

Ich möchte aus der Tabelle Fahrten (Feld Datum) alle Datensätze ausdrucken, die dem Monatsnamen aus dem Auswahlfeld "Welcher Monat" in der Tabelle Druckpositionen entspricht.

Ohne die Bedingung zwischen where und do wird alles ausgedruckt. Mit der (falschen ??) Bedingung wird nichts ausgedruckt. Das Problem liegt zwischen den Pfeilen. Kann mir jemand helfen??

let myB := Nr;
for ii in select Fahrten where  

>>>>>> monthName(Datum) = Druckpositionen.Drucktabelle.'Welcher Monat' <<<<<<<<<

do

let NT := (create Druckpositionen);
NT.(Drucktabelle := myB);
NT.(Fahrten := ii)
end;
printRecord(this.Nr, "Monatsabrechnung");
delete (select Druckpositionen)

4 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Versuch doch mal, den Vergleichswert des Auswahlfeldes vorher als Text in einer Variablen zwischenzuspeichern:

     

    let myMonat := text(Druckpositionen.Drucktabelle.'Welcher Monat')

    ... select Fahrten where monthName(Datum) = myMonat

    ...

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Super, vielen Dank für die schnelle Antwort. So sieht's jetzt aus und funktioniert auch nicht.

    Ich werde noch......

    let myMonat := text(Druckpositionen.Drucktabelle.'Welcher Monat');
    let myB := Nr;
    for ii in select Fahrten where monthName(Datum) = myMonat do
    let NT := (create Druckpositionen);
    NT.(Drucktabelle := myB);
    NT.(Fahrten := ii)
    end;
    printRecord(this.Nr, "Monatsabrechnung");
    delete (select Druckpositionen)

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hoppala, gut, wenn es eine Referenz gibt, in der man mal schnell nachschauen kann ... ;)

     

    Die Funktion 'montName()' erwartet die Nummer des Monats als Parameter, kein Datum. Es müsste also so lauten:

     

    ... where monthName(month(Datum)) ...

     

    Wobei sich in einem solchen Fall natürlich anbietet, gleich mit den numerischen Werten zu arbeiten (sofern die Monatsnamen des Auswahlfeldes in der richtigen Reihenfolge erfasst wurden, also Januar = 1, Februar = 2 usw.), also

     

    let myMonat := number('Welcher Monat')

    ... where month(Datum) = myMonat

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Super, das war's. Vielen Dank!!

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 4Antworten
  • 1562Ansichten