0

Datenabfrage - Hilfe für Automation

Hallo Zusammen, wir nutzen Ninox mittlerweile als unser ultimatives Firmenprogramm und haben u.a. 2 Tabellen: "Rechnungen" und "Abrechnung". In beiden Tabellen gibt es eine Verkaufsprotokolnummer (VPN) die in beiden Tabellen identisch ist und nur einmal vorkommt. In Rechnungen gibt es logischerweise eine Rechnungnummer. Nun möchte ich gerne per Befehlsschaltfläche folgendes erreichen: Beide Tabellen sollen nach der VPN abgeglichen werden und in die Tabelle "Abrechnung" soll die Rechnungsnummer der identischen VPN eingetragen werden.

Aktuell gleichen wir das manuell ab und tragen die Rechnungsnummer unter gleicher VPN in Abrechnung manuell ein.

Anders erklärt:  VPN12345 exisitiert in "Rechnungen" und in "Abrechnung". Nun soll die Rechnungsnummer von VPN12345 in "Abrechnung" eingetragen werden.

 

P.S. VPN kann in seltenen Fällen auch mal leer sein, dann soll bitte nichts passieren (wird dann manuell erledigt, nicht dass der Code dann die manuell eingetragene Rechnungsnummer wieder rauslöscht, weil keine VPN eingetragen ist...)

 

Vielen Dank für eure Hilfe. :)

6 Antworten

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

    Hallo Paul, für die Schaltfläche in der Tabelle 'Rechnungen' könntest du es mit diesem Code versuchen:

     

    if VPN and RechNr then
        let myVPN := VPN;
        let myRNr := RechNr;
        let myAbr := first(select Abrechnung where VPN = myVPN);
        myAbr.(RechNr := myRNr)
    end

     

    Damit würde aus dem aktuellen Datensatz der Tabelle Rechnungen nach einem Datensatz mit derselben VPN in der Tabelle 'Abrechnung' gesucht und dort die Rechnungsnummer (RechNr) eingetragen.

    • Paul_Krummling
    • vor 4 Jahren
    • Gemeldet - anzeigen

    PERFEKT! Genau die Lösung die ich gesucht habe. Vielen Dank

    • Paul_Krummling
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Copywriter, gibt es ergänzend eine Lösung, dass automatisch alle Datensätze mit einem Klick abgeglichen werden? :)

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Paul,

     

    eine Befehlsschaltfläche mit diesem Code sollte es tun:

     

    for i in select Rechnungen do
       if i.VPN and i.RechNr then
           let myVPN := i.VPN;
           let myRNr := i.RechNr;
           let myAbr := first(select Abrechnung where VPN = myVPN);
           myAbr.(RechNr := myRNr)
       end
    end

     

    lg, Torsten

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

    Das wäre auch meine Antwort gewesen. 😃

    • Paul_Krummling
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank, das funktioniert perfekt :)

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 6Antworten
  • 1221Ansichten