0

Brauche Hilfe bei einer Herausforderung!

Hallo liebe Ninox Nutzer,

Ich habe eine CSV Tabelle "Stückzahl" mit Spalten (Art-Nr. , Artikelname, Stückzahl) und importiere sie in die Untertabelle "System". In der Tabelle "Projekt" habe ich ein Button, wenn ich den drücke soll er in der Tabelle "Produkte" die finden und aus der Tabelle ein neuen DATENSATZ in der Tabelle "Angebot" öffnen und die Produkte in die Untertabelle "Angebotsposition" übertragen. So das ich ein Angebot mit den Positionen habe. Ich glaube das Bild verdeutlicht es noch besser. 

Welche Formel muss ich beim Button einfügen?

Danke für die Hilfe.

10 Antworten

null
    • Geschäftsführerin bei Kennes Digital
    • Stefanie_K
    • vor 1 Jahr
    • Gemeldet - anzeigen
    do as server
    let newA := (create Angebot);
    
        for i in select System do
            let xProdukte := (select Produkte where 'Art-Nr.' = i.'Art-Nr.');
            for j in xProdukte do
                let newAP := (create Angebotspositionen);
                newAP.(Angebot := newA);
                newAP.('Art-Nr.' := j.'Art-Nr.');
                newAP.(Artikelname := j.Artikelname);
                newAP.(Einheit := j.Einheit);
                newAP.('Stückzahl' := j.'Stückzahl')
            end
        end
    
    end;
    
      • chalvi // WERBEAGENTUR GbR
      • VS2021
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Stefanie Kennes 

      Vielen Dank für die schnelle Antwort! Leider zeigt er mir ein Fehler an bei 

                  newAP.(Angebot := newA);
                  newAP.('Art-Nr.' := j.'Art-Nr.');
                  newAP.(Artikelname := j.Artikelname);
                  newAP.(Einheit := j.Einheit);
                  newAP.('Stückzahl' := j.'Stückzahl')

      Tabellenspalte nicht gefunden! Woran könnte es den liegen. Vielen Dank für die Hilfe.

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 1 Jahr
      • Gemeldet - anzeigen

      VS2021 Dann heißt eines der Felder in meinem Code anders als in deiner Datenbank. Du musst in der entsprechenden Zeile den Namen deines Feldes einsetzen.

      • Tacho
      • vor 1 Jahr
      • Gemeldet - anzeigen

      VS2021 

      müßte es im Code nicht   ARTIKELPOSITION  heißen?

    • chalvi // WERBEAGENTUR GbR
    • VS2021
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich glaube ich verstehe wo der Fehler ist, aber ich weis nicht wie ich es umsetzten oder erklären muss. In der Tabelle "System" befinden sich z.B. zwei Artikel mit (Art-Nr. , Artikelname, Stückzahl) also zwei Datensätze. In der Tabelle "Angebotspositionen" ist eine Verknüpfung zu der Tabelle "Produkte". Durch das drücken des Button müssen jetzt zwei Datensätze in Tabelle "Angebotspositionen" geöffnet werden und die jeweiligen Produkte aus der Tabelle "System" dort erscheinen.

    Stand jetzt versucht er die Art-Nr. (Spalte) in der Tabelle "Angebotspositionen" zu finden, findet aber nicht, weil sie ja und er Tabelle "Produkte" ist. Ich hoffe es ist verständlich. 

    Vielen Dank für eure Hilfe.

    • chalvi // WERBEAGENTUR GbR
    • VS2021
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich habe noch eine Datenbank erstellt. Hier kann man die Verknüpfungen gleich sehen und es besser nachvollziehen was ich brauche. Danke

    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo, versuch's mal so:

    let newA := (create Angebot);
    Angebot := newA;
    for i in select System do
        let myP := first(select Produkte where 'Art-Nr.' = i.'Art-Nr.');
        let newPos := (create Angebotsposition);
        newPos.(Produkte := myP);
        newPos.(Angebot := newA)
    end
    
      • chalvi // WERBEAGENTUR GbR
      • VS2021
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro 

      Vielen Dank dir für die Formel! Es geht schon in die richtige Richtung. Ein kleines Problem tritt noch auf. Wenn ich ein neues Projekt öffne und ein neues Angebot erstelle. Packt er beim neuen Angebot in die Angebotsposition auch die letzten Produkte von dem letzten Angebot dazu. Er sollte aber nur das Produkt in die Angebotsposition tun, die in der Tabelle System eingegeben sind. Ich hänge mal Fotos an. Vielen Dank für die Hilfe!

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

      VS2021 Ups, schätze, dass das "select" vor 'System' weg muss, damit nur auf die mit diesem Projekt verknüpften Daten der Tabelle 'System'  zugegriffen wird, nicht auf alle. Sorry, Macht der Gewohnheit ... 🤭

      let newA := (create Angebot);
      Angebot := newA;
      for i in System do
          let myP := first(select Produkte where 'Art-Nr.' = i.'Art-Nr.');
          let newPos := (create Angebotsposition);
          newPos.(Produkte := myP);
          newPos.(Angebot := newA)
      end
      
      • chalvi // WERBEAGENTUR GbR
      • VS2021
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro Vielen Dank es funktioniert so wie es brauche! WOW

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 10Antworten
  • 165Ansichten
  • 4 Folge bereits