0

Einfache Select Abfrage in verknüpfter Tabelle

Hallo zusammen,

möchte eine einfache Abfrage als Schleife machen. Leider sind die Angaben im Handbuch für mich nicht nachvollziehbar.

for i in select Provisionsbuch where Buchungsdatum = "01.10.2021" do
i.(select Provisionsbuch).Buchungsdatum
end

Wo könnte hier der Fehler liegen, dass keine Ergebnisse angezeigt werden. Denke es liegt nicht an der Vorschleife sondern an der Anweisung?

 

Vielen Dank für Eure Hilfe

10 Antworten

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Der Vergleich stimmt nicht. Du vergleichst ein Datumsfeld mit einem Text. DerText muss in ein Datum umgewandelt werden.
    Dazu benutzt man die Funktion date()
    date(2021,10,1)
    Zuerst must du Tag, Monat, Jahr einzeln aus dem Text extrahieren und dann mit date() als Datum definieren.
    substr("01.01.2021",0,2) ergibt "01"

    let vsuche := "01.10.2021";
    let Tag := substr(vsuche,0,2);
    let Monat := substr(vsuche,3,2);
    let Jahr := substr(vsuche,6,4);
    Suchdatum := date(number(Jahr),number(Monat),number(Tag))

    • Dirk_Weidensdorfer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo,

    wenn ich den Abgleich mit einem vorhandenen Datumsfeld abgleiche, funktioniert es auch nicht.

    let VER := Mitarbeiter.Vermittlernummer;

    let Beginn := 'Zeitraum vom';
    for i in select Provisionsbuch where Buchungsdatum = Beginn do
    i.(select Provisionsbuch).Buchungsdatum
    end

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Probier mal i.Buchungsdatum statt i.(select Provisionsbuch).Buchungsdatum
    In der Schleifendefinition hast du die Tabelle ja schon definiert.

    • Dirk_Weidensdorfer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Bringt leider auch kein Ergebnis. Komisch

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    1. Was soll die Schleife machen?

    In dieser Form macht die Schleife keinen Sinn.
    Du suchst in der Tabelle Provisionsbuch nach Records, dessen Buchungsdatum = dem Suchbuchungsdatum ist.
    Als Ergebnis möchtest du das Buchungsdatum der Tabelle Provisionsbuch erhalten welches dem Suchkriterium entspricht.
    Das hast du aber auch schon vor der Schleife. In deinem Fall lautet das Ergebnis immer 01.10.2021 bei jedem Schleifendurchlauf.
    Deshalb nochmal die Frage, was soll die Schleife machen?

    • Dirk_Weidensdorfer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich bin hier wahrscheinlich total auf dem Holzweg. Ich möchte nur, dass es mir in der Verknüpfung Provisionsbuch alle Datensätze anzeigt, welche gleich Beginn(Tabelle)= Buchungsdatum(Provisionsbuch). So einfach wie in einer Ansicht geht das ja allerdings nicht in einer Verknüpfung.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Dirk
    Hier fehlt einfach Input von dir um zu helfen.
    Wie sieht dein Datenmodell aus, was ist mit wem verknüpft und wo soll was angezeigt werden?
    Soll es eine Ansicht oder eine Tabelle sein, wo die ermittelten Daten gezeigt werden sollen?
    Was ist mit 'Beginn(Tabelle)= Buchungsdatum(Provisionsbuch)'  gemeint?
    Ist Provisionsbuch vielleicht eine Untertabelle von einer Tabelle? (Ich rate einfach mal)
    Mit (select Provisionsbuch where Buchungsdatum=Suchdatum).Nr erhälst du schon mal ein Array der RecordID's, die dem Kriterium entsprechen
    Wenn du dir das Ergebnis in einem Funktionsfeld anzeigen lassen willst, concat((select Provisionsbuch where Buchungsdatum=Suchdatum).Nr) Zeigt alle ID's der gefundenen Records an.
    Wenn du es in einer Ansicht haben möchtest:
    Provisionsbuch[Buchungsdatum=Suchdatum] und die entsprechenden anzuzeigenden Spalten in der Ansicht auswählen.
    Das ist alles geraten ohne genauere Informationen von dir.

    • Dirk_Weidensdorfer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen Dank erstmal für Deine Geduld mit mir. 

     

    Ich habe eine Tabelle Namens Lohnabrechnung mit einer Verknüpfung Mitarbeiter und eine Tabelle Namens Provisionsbuch. Da man eine Ansicht nicht drucken kann, habe ich in Tabelle Lohnabrechnung weiterhin eine Verknüpfung Provision gemacht. Diese soll identisch wie eine Ansicht bestimmte Daten anzeigen, analog einer Ansicht.

    Eine Ansicht lässt sich leit mit folgender Funktion gestallten: let VNR := Mitarbeiter.Vermittlernummer;
    let Beginn := 'Zeitraum vom';
    select Provisionsbuch where Vermittlernummer = VNR and Buchungsdatum = Beginn

    Das selbe soll allerdings die verknüpfte Tabelle (Provision) anzeigen, so dass ich diese als Tabelle in über Drucken ausgeben kann.

    Vielen Dank für Deine Hilfe.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Dirk
    Jetzt weiß ich was du möchtest.
    Die schlechte Nachricht: Ich kann die hier nicht helfen, da ich mich noch nie mit dem Ninox-Druckeditor auseinader gesetzt habe.
    Ich nutze für notendige Ausdrucke aus Ninox ausschließlich "carbone".
    Da ist es für mich kein Problem komplizierte Abfragen als Tabellendarstellung zu erzeugen.
    Mit Sicherheit gibt es hier einen Ninox-DruckEditor Spezialisten,  der dir weiter helfen kann.
    Ansonsten besuche das Mittwochs-Webinar von Ninox und schilder dein Problem dort online. 
    Da wird dir mit Sicherheit geholfen.

    • Dirk_Weidensdorfer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Alles klar. Trotzdem vielen Dank für Deine Unterstützung.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 10Antworten
  • 489Ansichten