Datenfeld-Zuweisungen in Reports

Hallo,

ich bin auf der Suche nach einer Möglichkeit in einer Datenbank ein Feld (nennen wir es “bezahlt”) über einen Report zu verändern. In der Online Hilfe fand ich nur den folgenden Abschnitt:


Datenfeld-Zuweisungen in Reports

In Rechenfeldern in Reports kann nun der ursprüngliche Datensatz geändert werden, z. B. um zu vermerken, dass ein Report erfolgt ist. Eine Zuweisung wird einfach in einem Report-Datenfeld mit

LET =

durchgeführt; zum Beispiel für ein Feld „Bemerkung“ so:

LET Bemerkung = Bemerkung + CR + 'Email versandt am ’ + SYSDATE


So weit so gut, nun bekomme ich es aber über " LET bezahlt =‘ja’ " nicht hin.

Mein Feld “bezahlt” ist ein Checkbox mit nur zwei Zuständen die da sind ‘ja’ oder ‘nein’. Die manuelle Veränderung über "Bearbeiten/Global ersetzen…/Setze Feld : bezahlt Auf Wert / Ausdruck : ‘ja’ " funktioniert natürlich. Beimn Anlegen eines neuen Datensatzes ist der Wert ‘nein’ also alles so weit ok.

Was muss ich stattdessen für eine Formel verwenden.

Bin gespannt auf eure Vorschläge.

Jörg

Hallo Jörg.

Versuchs damit:

LET KundeJa_Nein = ‚1‘

Für „KundeJa_Nein“ musst Du die Bezeichnung Deines DB-Feldes (=CheckBox) nehmen.

UND

Siehe Dateianlage.

Hallo Jörg.

… jetzt etwas genauer - auf Dich zugeschnitten mit Wert „bezahlt“.

LET Rg_Status = ‚bezahlt‘

UND

Siehe Dateianlage.

Hallo Gerd,

danke zunächst, aber das mit ‚0‘ und ‚1‘ oder ‚ja‘ und ‚nein‘ hatte ich natürlich schon probiert.

In meinem Report steht nur: LET bezahlt = ‚ja‘ als Rechenfeld.

In deinen Beispielen erstaunt mich auch, dass u.a. keine Feldbeschriftung zu sehen ist. Hast du die irgendwie ausgeblendet oder gibt es die tasächlich nicht.

Auch fand ich den Unterschied, ich „beschreibe“ das Feld mit Werten nein und ja (siehe Bild-Anhang), so dass hier automatisch der „angehakt“-Fall erscheint, ebenfalls im Bild zu sehen.

Im Gegensatz zu dir verwende ich schon Vista. Ob das den Unterschied bringt?

Mein Problem hier ist, ich bekomme nach dem Durchlauf des Reports immer den Inhalt des Feldes „S19_MwSt“ des aktuellen Datensatzes eingetragen, da läuft doch gewaltig was schief.

Ich werde wohl auch mal eine Test-DB kreieren und sehen, ob ich mit dem LET hinkomme, Herr Ramps hatte mal auf eine abendlich späte email geantwortet, mit etwa den Worten:

„Hm … Nee, in die Richtung geht das nicht. LET macht Variablen, nicht aber Feldinhalte,…“

aber ich fand nichts anderes in irgendeiner Hilfe.

Jörg

Hallo Jörg.

Du schreibst:

In deinen Beispielen erstaunt mich auch, dass u.a. keine Feldbeschriftung zu sehen ist. Hast du die irgendwie ausgeblendet oder gibt es die tasächlich nicht.

Auch fand ich den Unterschied, ich “beschreibe” das Feld mit Werten nein und ja (siehe Bild-Anhang), so dass hier automatisch der “angehakt”-Fall erscheint, ebenfalls im Bild zu sehen.<<

Bitte vergleiche hier Deine Feldeigenschaften mit den Feldeigenschaften von mir.

(Dateianlage: “Let_Zuweisung an CheckBox1.jpg”)

Der Gedanke bei meinem Vorschlag ist der:

Solange ein bestimmter Report nicht ausgeführt wird, steht die CheckBox auf FALSCH.

Wird der Report (z.B. Zahlungseingang) ausgeführt, wird durch die LET-Anweisung die CheckBox auf WAHR (Häkchen erscheint) gesetzt. Warum soll da noch Ja/Nein/bezahlt … stehen? Kann man machen, ja bitte - aber ein gesetztes Häkchen sollte auch reichen.

Du schreibst:

Ich werde wohl auch mal eine Test-DB kreieren und sehen, ob ich mit dem LET hinkomme, Herr Ramps hatte mal auf eine abendlich späte email geantwortet, mit etwa den Worten:

“Hm … Nee, in die Richtung geht das nicht. LET macht Variablen, nicht aber Feldinhalte,…”

aber ich fand nichts anderes in irgendeiner Hilfe.<<

Das war bestimmt vor der 13?

Aber Du hast schon das Richtige in der Hilfe gefunden oder auch im Hersteller-Dokument "Neu_in_Papyrus_2008.pap gefunden.

Hallo Gerd,

vielen Dank für deine immer ausführlichen Vorschläge (auch bei anderen Dislkussionen).

Hier im Fall hat es nicht den gewünschten Erfolg gebracht. Dein Gedanke ist gut und ist auch meiner „Check box ist „Falsch“ bis nach Ausführen eines Reports“.

Aber ich komme mit LET nicht hin, und der Kommentar von Herrn Ramps war im Bereich Version 13.04. Ich hänge mal eine Test DB an und du kannst dann damit spielen (wenn du magst und Zeit hast). Probiere mal den beiliegenden Report und sehe was er da einsetzt.

Zumindest bei mir ist das Verhalten komisch, denn ich bekomme immer den Inhalt von S19_Mwst in das Feld hinein. Du auch?

Die Datenbank wie die Original-DB wurden mal mit OS/2 und Papyrus 9 entwickelt.

falkenstein.zip (47.4 KB)

Hallo Jörg.

Ja, die LET-Zuweisung bei dieser DB ist problembelastet.

Ich habe mit papyrus Autor 1.0 das DB-Feld „RG_status“ entfernt. (Ihm war übrigens die Eigenschaft „Automatisch erzeugtes Schlüsselfeld“ zugewiesen!) Dann habe ich es neu erzeugt. Wird Dein korrekter Report ausgeführt streift BASE irgendein Datenfeld und beglückt damit das DB-Feld „RG_status“.

Ich glaube es hängt mit dem Ursprung (OS/2) der DB zusammen.

Damit Du nachvollziehen kannst, wie schön BASE unter papyrus 13.10W und Autor 1.0 funktioniert (und wie ich es mir vorstelle), findest Du unten eine kleine Test-DB.

Bitte sende Deine DB mit LET-Report an R.O.M.

DB1249WCheckbox.zip (4.76 KB)

Das glaube ich nicht, denn Papyrus rechnet in diesem Fall etwas falsches, was vielmehr auf einen Fehler im systemunabhängigen Kern zurückzuführen ist.

Das Feld RG_status wird mit dem Inhalt des Felds S19_MwSt gefüllt (jedenfalls hier am Mac). Wenn man den Report modifiziert und auch noch LET Notiz=‘fertig’ ausführen lässt, dann wird in das Notizfeld ebenfalls der Inhalt von S19_MwSt eingetragen. Ist zwar witzig, aber nicht gerade erwünscht.

Hallo.

Ich habe bis auf die DB-Felder “Notiz” und “RG_status”, alle anderen DB-Felder der DB-Tabelle "Rechnungen gelöscht.

Dann den Report ausgeführt - dem Feld “RG_status” wurde der korrekte Wert zugewiesen.

Ich empfehle jede e i n z e l n e CheckBox (z.B. “automatisch erzeugtes Schlüsselfeld”, …) auf Sinnhaftigkeit zu prüfen!

Auch ich habe mich letztens erstmalig an die LET-Anweisungen in Reporten versucht, und nach anfänglichen Fehlversuchen festgestellt, das folgende Foreml einen Versuch wert wäre:

LET bezahlt=bezahlt + “ja”

Verstehe zwar nicht, warum, in meinem Fall wollte ich das Datum eintragen lassen, aber

LET gedruckt = CURDATE

hat nicht geklappt,

LET gedruckt = gedruckt + CURDATE aber schon.

Hat bei mir den Nachteil, das die Formel beim zweiten mal so funktioniert, wie sie der Logik nach auch funktionieren sollte, man ist beim zweitenmal dann im Jahr 4016 (2x2008), aber anders hat es nicht gefunzt. Nicht umsonst steht im einzigen Hinweis wohl:

Ist wohl n Bug. ?

Hallo glucose,

Das trifft das Verhalten exakt wie in meinem Fall.

Hallo dotpap,

Du verstehst hoffentlich, dass ich in der Live-Datenbank nicht Felder löschen kann. Ich hoffe, das R.O.M. ein tool zur Bereinigung der DB stellen kann, falls es am Ursprung der DB liegt.

ABER: Wie schaffst du es, dass im Reportauswahlfenster unter “Ausgabe des Reports” ein leeres Feld steht?

Hallo blake,

LET bezahlt=bezahlt+‘ja’ hat geholfen, ist aber vermutlich nur in meinem Fall nutzbar und dann auch nur einmalig, sonst steht da im Feld “jaja”

Hallo falcotec.

Seit Kurzem bietet die AuswahlBox im Report-Dialog den Eintrag “Keine Ausgabe (nur Formeln ausführen)” an.

Vielleicht arbeitest Du mit einer Version, wo dieser Eintrag nicht zur Verfügung steht(?).

Das Feature “LET-Datenfeld-Zuweisung” hat einen kleinen Knacks wegbekommen. Ich habe es vor einigen Tagen an den Hersteler gemeldet. Wir werden sicherlich bald wieder rege Gebrauch davon machen können …

1 „Gefällt mir“

Hallo Gerd,

Kannst du bitte prüfen, ob das in Papyrus Autor oder Papyrus Office 13.10 ist. Ich habe “nur” Office 13.10 (gibt laut Webseite auch keine neuere), da geht das noch nicht.

Was ich mich schon länger frage: Wie bekommen wir mit, ob ein von Usern gemeldeter Fehler behoben wurde oder in Bearbeitung ist. Ich habe nämlich schon länger das Problem, dass ein Report mit 2 Stammseiten nicht korrekt funktioniert.

So was sollte meiner Meinung nach R.O.M. etwas offener kommunizieren.

Grüsse - Jörg

Hallo Jörg.

Heute, am 11.11.08, ist die 13.10W die aktuelle Office-Version.

In dieser Version ist die Report-Ausgabeart “Keine Ausgabe (nur Formeln ausführen)” noch nicht enthalten.

Fehlermeldungen wünscht der Hersteller per E-Mail.

Wenn ich eine solche Meldung an die Support-eMail-Adresse sende, erhalte ich stets kurzfristig Mitteilung in der Art, wann der Fehler beseitigt sein wird. In etwa so: Fehlerkurzbeschreibung - behoben in 13.11 - spätestens aber mit der 13.12 …

Und das klappt - das darf ich hier einmal deutlich sagen und möchte mich dafür bedanken. :slight_smile:

Hallo Jörg.

Heute, am 22.11.08, ist die 1.04W vom 19.11.08 die aktuelle papyrus Autor-Version.

Der vor ein paar Tagen an den Hersteller per E-Mail gemeldete kleine Fehler mit der LET-Datenfeld-Zuweisung (siehe Dateianlage: Datenbank “falkenstein.zip” - weiter oben) ist mit der 1.04W behoben.

Wenn der Report ausgeführt wird, erscheint nun im DB-Feld “Rg_Status” der Wert “ja”.

Report-Ausgabeart: “Keine Ausgabe (nur Formeln ausführen)”

Hallo Gerd,

heute am 26.11.08 ist noch die 13.10 Windows/Mac/OS/2 aktuell, so zumindest stehts auf papyrus.de.

Na dann hoffe ich mal, das bald die Papyrus Office nachzieht, und die schönen neuen Funktionen für DB und Fehlerkorrekturen (z.B. für mein Fall LET) enthält, da ich nicht auf Papyrus Autor umsteigen werde.

Hallo Jörg.

… Ulli meint papyrus Office 2009 - noch vor Weihnachten 08 :slight_smile:

Und vielleicht kommt ja Anfang Dezember 08 noch ein kleines Mini-Update?