PDF per Befehlsschaltfläche anzeigen
Hallo Zusammen,
ich sitze leider gerade vor einem Problem: Ich möchte gerne eine hinterlegte PDF (in der Tabelle 'Dokumente') per Butto in einer anderen Tabelle anzeigen. Das "aktuelle" PDF ist gekennzeichnet. Folgenden Code habe ich, aber ich bekomme leider eine Fehlermeldung, dass die Funkion nicht definiert sei (2. Zeile).
let myID := (select Dokumente where Beschreibung like "Datenschutzerklärung Trainer" and 'aktuelle Version' = true).Dokument
file(myID)
Habt ihr eine Idee?
Liebe Grüße
Stephan
4 Antworten
-
Hallo Stephan,
um einen Anhang mit file anzeigen zu lassen musst du die Datensatznummer und den Namen haben:
file(Nr, "Name_vom_Anhang")
Zum Rausfinden der Record Nummer könntest du dein select Beispiel nutzen, hier fehlt nur noch die Eindeutigkeit des Datensatzes also z.B. first().
let Nr := first((select Dokumente where Beschreibung like "Datenschutzerklärung Trainer" and 'aktuelle Version' = true))
Den Namen des Dokumentes erhälst du über files(Nr). Das gibt eine Auflistung aller Anhänge des entsprechenden Datensatzes als Array aus.
Falls deine Datensätze nie mehr als einen Anhang haben kannst du auch hier mit z.B. first() arbeiten.Die Anzeige erfolgt dann in einem Berechnungsfeld. Natürlich ist es dann auch möglich über eine Schaltfläche die Ansicht z.B. ein und auszublenden.
Ich hoffe du kommst mit diesem Ansatz weiter, ich habe das jetzt nur auf die Schnelle mal zusammengetippt.
Gruß
Oliver M.
-
Hallo Oliver,
ja, sehr guter Ansatz, danke Dir dafür. Mit einem Funktionsfeld klappt das auch prima. Ich würde nun nur gerne diese Datei mit einem Button öffnen. Mit "openRecord" oder "popupRecord" kann ich ja nur den Tabelleneintrag öffnen, in dem die PDF liegt. Kann ich auch irgendwie die Datei selbst öffnen? So wie es sich öffnet, wenn ich auf das Feld der Datei klicke?Danke und LG
Stephan
-
Mhm, ich denke so wie du dir das vorstellst geht es nicht.
Das PDF Dokument liegt ja in einem Datensatz einer Bestimmten Tabelle.Wie oben beschrieben, hast du die Möglichkeit dieses Dokument in einem Funktionsfeld an anderer Stelle Anzeigen zu lassen oder eben den entsprechenden Datensatz mit z.B. popupRecord aufzurufen und das Dokument dann direkt zu öffnen.
Letzteres ist in einer Datenbank eigentlich die sinnvollste Lösung.
Der Vorteil einer Datenbank besteht ja darin, Informationen, die in verschiedenen Tabellen vorliegen, sinnvoll miteinander zu Verknüpfen.
Gerade in Ninox ist das "stapeln" der Formulare beim Klick auf einer Verknüpfpung (bzw. auch popupRecord) so wunderschön gelöst, dass man übersichtlich auf alle nötigen Informationen zugreifen kann und auch den Weg dorthin quasi visualisiert bekommt.Fazit: Such dir den entsprechenden Record, öffne ihn mit popupRecord und schau dir dein Dokument an. :-)
Gruß
Oliver M. -
Alles klar, danke Dir. Ich hatte mir sowas gedacht.
Ich habe eine Tabelle "Dokumente" und eine Tabelle, die der "Kunde" auf einem iPad einsehen kann. Meine Idee war es Klicks zu sparen und die Datei "Datenschutzerklärung" bei Bedarf, nämlich bei klick auf "Datenschutzerklärung lesen", direkt anzuzeigen bevor ihr zugestimmt wird. Nun habe ich tatsächlich die Tabelle "Dokumente" umgebaut und zwar so, dass sie als popupRecord() auch Kunden angezeigt werden kann, indem ich alles, was der Kunde nicht sehen soll hinter dem Reiter "Admin" verschwidert, der nur angezeigt wird, wenn in einem kleinen Textfeld "Admin-PW" das richtige Passwort angegeben wird.
Finde den Workaround nun so ok, aber nicht ganz optimal. Danke Dir Oliver für die Anregungen
LG
Stephan
Content aside
- vor 4 JahrenZuletzt aktiv
- 4Antworten
- 503Ansichten