0

Button bei neuem Datensatz betätigen

Hallo Zusammen,
ist es möglich einen Button bei einem neuem Datensatz automatisch zu betätigen, oder einen Code bei einem Datensatz auszuführen ("Trigger nach Änderung" funktioniert nicht)? 

Gruß 

Kevin

15 Antworten

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

    Hallo Kevin, Button-Code lässt sich nur ausführen, wenn der Button auch geklickt wird. Um bei der Erstellung eines neuen Datensatzes automatisch einen Code auszuführen zu lassen, gibt es auf Tabellenebene ja den Trigger "Bei neuem Datensatz". Wenn der bei dir nicht funktioniert, müsstest du den betreffenden Code hier mal zeigen oder genauer beschreiben, was du damit erreichen willst.

    • kevin.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke für die schnelle Antwort! 

    Ich hab ein Feld in dem eine Bild-URL gespeichert ist und ein Feld in dem das Bild importiert werden soll. Der Code, der das Bild bei einem Klick importiert ist folgender: 

    let url1 := URL;
    Anlage := importFile(this, url1, "Anlage.png")

    Wenn ich diesen Code in den Trigger "Bei neuem Datensatz" einfüge, wird das Bild nicht automatisch importiert. Bei einem Klick auf dem Button allerdings schon. 

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

      Kevin Janetta Soweit ich weiß, funktioniert importFile() generell nicht in Triggern, nur mit Buttons und Funktionsfeldern. Davon abgesehen frage ich mich aber, wo die URL herkommt, denn im Moment der Erstellung sind die Felder des neuen Datensatzes ja noch leer.

      • Torsten_Stang.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro ... dann wäre wohl der Änderungstrigger des Feldes "URL" der richtige Platz für das Script!?

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

      Torsten Stang Theoretisch ja, aber wenn importFile() nicht in Triggern funktioniert ... 🤔

    • kevin.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Die Daten werden automatisch von einem TypeForm-Formular übergeben und es wird ein neuer Datensatz erstellt.

    Hab auch folgendes ausprobiert: 
    Ich hab ein Funktionsfeld mit folgendem Code erstellt:

    let url1 := URL;
    function test() do
        {
            Anlage: = importFile(this, url1, "Anlage.png")
        }
    end

    und versucht diesen in dem Trigger abzurufen. Dies Funktioniert allerdings auch nicht, sofern man das Funktionsfeld nur mit dem Funktionsnamen aufruft. 
    Ist es möglich die Funktion selber und nicht das Funktionsfeld in einem Trigger abzurufen? Und wenn ja, wie?

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

      Kevin Janetta 

      Ich schrieb oben zwar, dass importFile() mit fx-Feldern funktioniert, aber vermutlich war das falsch. Es würde jedenfalls wenig Sinn machen, denn fx-Felder können nur Werte berechnen und anzeigen, aber selbst keine Wertezuweisungen an andere Felder vornehmen. Außerdem werden sie bei jedem Aufruf neu ausgeführt, das Bild soll aber nur ein mal importiert werden.

      Da die Daten aus Typeform kommen, vermute ich, dass ein Integrationsdienst wie Make oder Zapier dazwischen geschaltet ist. Wenn dem so ist, könnte man versuchen, die Aktion schon dort auszuführen. Allerdings bin ich da kein Experte, vielleicht haben andere sowas schon mal gemacht.

      Als Alternative fiele mir nur noch ein, irgendwo einen Button namens "Bilder laden" oder so zu platzieren, mit diesem in einer Schleife alle aus Typeform neu angelegten Datensätze durchzugehen und ggf. die Datei von der angegebenen URL in das Bildfeld zu laden. Keine wirkliche Lösung, aber immerhin ein Workaround, mit dem man das nicht für jeden Datensatz einzeln machen müsste.

      • kevin.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro Kurze Frage bezüglich der Schleife. Wo muss der Button angelegt werden? Einfach in einem Datensatz, oder kann man Buttons auch universell für eine ganze Tabelle anlegen?

      Ich hab es mit folgendem Code probiert, der aber leider nicht funktioniert: 
       

      let tabelle := (select 'Feedback');

      for i in tabelle do
      Anlage := importFile(this, URL, "Anlage.jpeg")
      end

      Sind irgendwelche Fehler vorhanden? 

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

      Kevin Janetta Versuch's mal so:

      let tabelle := (select 'Feedback');
      for i in tabelle do
         i.Anlage := importFile(i, i.URL, "Anlage.jpeg")
      end
      
      • kevin.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro Theoretisch funktioniert der Code. Also es wird durch jeden Datensatz iteriert und das Bild auch eingefügt. Nur kann das Bild nicht richtig geladen werden. Auch nicht mit dem alten Code

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

      Kevin Janetta Das liegt dann aber vermutlich eher an der Datei selbst. Verweist die URL auf eine gültige Bilddatei (z.B. "https://subdomain.meinedomain.com/xyz/Meinbild.png")? Und wird diese Datei angezeigt, wenn die URL direkt im Browser eingegeben wird?

      • kevin.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro Es ist gerade sehr merkwürdig. Es funktioniert auch nicht bei neuen Datensätzen. Hab alles wieder auf dem alten Stand gebracht, als es funktioniert hat. Es geht dennoch nicht. Sehr komisch.

      Ja, das Bild wird angezeigt.

      • kevin.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Kevin Janetta Es wird noch merkwürdiger. Hab nichts geändert und jetzt geht der alte Code wieder... und das Bild wird wieder ohne Fehler importiert.

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

      Kevin Janetta Okay, dann alles so lassen und nicht bewegen! 😉

    • kevin.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Vielen Dank für die Antworten!

Content aside

  • vor 1 JahrZuletzt aktiv
  • 15Antworten
  • 89Ansichten
  • 3 Folge bereits