[gelöst]Externes Formular, unerwünschte Sicherheitsabfrage

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]Externes Formular, unerwünschte Sicherheitsabfrage

Re: [gelöst]Externes Formular, unerwünschte Sicherheitsabfra

von DPunch » Mi, 24.10.2012 12:33

Servus
juetho hat geschrieben:Wenn bei einem Datensatz tatsächlich eine Änderung vorgenommen wurde und beim nächsten Datensatz nur weitergeblättert wird, erhält das Dokument dennoch den Status "nicht modifiziert".
Das hatte ich schon gelesen, nur wird bei der Zuweisung "oDoc.Modified = oDoc.isModified or false" nie eine Änderung eintreten können, Modified wird vor und nach der Zuweisung immer den gleichen Wert aufweisen.
Daher hatte ich mich gefragt, ob dahinter etwas anderes steckt, was nicht direkt ersichtlich ist.

Re: [gelöst]Externes Formular, unerwünschte Sicherheitsabfra

von juetho » Mi, 24.10.2012 09:06

DPunch hat geschrieben:Mir erschließt sich nicht, was Du damit bezweckst.
juetho hat geschrieben:Wenn bei einem Datensatz tatsächlich eine Änderung vorgenommen wurde und beim nächsten Datensatz nur weitergeblättert wird, erhält das Dokument dennoch den Status "nicht modifiziert".
Aber ich gebe zu, dass mein Code das Problem auch nicht löst. Ich werde ihn als unbrauchbar kennzeichnen. Jürgen

Re: [gelöst]Externes Formular, unerwünschte Sicherheitsabfra

von DPunch » Di, 23.10.2012 23:12

Servus
juetho hat geschrieben:Die Abfrage ist deshalb zu ergänzen(...)

Code: Alles auswählen

if not oform.ismodified then
  odoc.Modified = odoc.Modified or false
endif
Welchen tieferen Sinn hat diese Zuweisung?
"oDoc.isModified or false" wird immer gleich "oDoc.isModified" sein, wodurch die Zuweisung immer lautet "oDoc.Modified = oDoc.isModified", was nichts anderes ist als "5 = 5".
Mir erschließt sich nicht, was Du damit bezweckst.

Re: [gelöst]Externes Formular, unerwünschte Sicherheitsabfra

von beat4u » Di, 23.10.2012 17:17

Hallo Jürgen

Bei mir läuft die Lösung von F3K bestens. Wenn ich am Dokument selber etwas ändere, dann läuft sowieso kein Makro und ich speichere die Änderung manuell ab. Diesen Fall muss ich also nicht abfragen.

Frage an dich: läuft deine Version bei dir einwandfrei?

Gruss
Beat

Re: [gelöst]Externes Formular, unerwünschte Sicherheitsabfra

von juetho » Di, 23.10.2012 11:47

Zusätzlicher Hinweis nicht genau genug, Lösung unbrauchbar (siehe übernächsten Beitrag von DPunch): (nachträgliche Anmerkung, Jürgen)

Diese Lösung enthält eine logische Ungenauigkeit. Wenn bei einem Datensatz tatsächlich eine Änderung vorgenommen wurde und beim nächsten Datensatz nur weitergeblättert wird, erhält das Dokument dennoch den Status "nicht modifiziert". Die Abfrage ist deshalb zu ergänzen:

Code: Alles auswählen

if not oform.ismodified then
  odoc.Modified = odoc.Modified or false
endif
Damit werden andere Änderungen im Dokument weiterhin erkannt. Jürgen

Re: Externes Formular, unerwünschte Sicherheitsabfrage

von beat4u » So, 12.08.2012 12:53

Danke F3K, gute Idee, ich werd's ausprobieren und meine Frage dann als gelöst kennzeichnen.

Gruss Beat

Re: Externes Formular, unerwünschte Sicherheitsabfrage

von F3K Total » So, 05.08.2012 10:07

Hi,
warum das so ist, kann ich nicht sagen, ich halte es für einen Fehler.
Du kannst Dir zwischenzeitlich mit einem kleinen Makro helfen:

Code: Alles auswählen

Sub set_not_modified

odoc = thiscomponent
oform = odoc.drawpage.forms.getbyname("DeinFormular")
if oform.ismodified = false then
odoc.Modified = false
endif

End Sub
Das hängst Du im Formularentwurfsmodus an das Formular-Ereignis "nach dem Datensatzwechsel"
So wird das Dokument, wenn es nicht modifiziert wurde, als "nicht modifiziert" gekennzeichnet und die Sicherheitsabfrage bleibt aus.

Gruß R

[gelöst]Externes Formular, unerwünschte Sicherheitsabfrage

von beat4u » Fr, 03.08.2012 16:25

Hallo Forum

Ich konnte leider in diversen Foren zu diesem Thema nichts finden.

Ich habe mehrere externe Formulare entwickelt für die interne HSQL-DB, die funktionieren prächtig.

Aber sobald ich im geöffneten Formular nur einen Datensatzwechsel vornehme - also ohne irgendwelche Änderungen an den Inhalten oder am Layout, indem ich nur auf den Datensatznavigator zum nächsten Satz klicke - und danach das Formular schliessen will, kommt die Sicherheitsabfrage "Das Dokument "Dokuname.odt" wurde geändert. Sollen die Änderungen abgespeichert werden?".
Es geht also offensichtlich nicht um eine Änderung der Daten, sondern um eine Änderung am Formular selbst, obwohl nichts daran geändert worden ist.

Es ist kein Makro in diesem Dokument. Das passiert auch bei ganz einfachen Formularen ohne Subformular.

Ist dieses Problem bekannt?
Wie kann ich diese unerwünschte Sicherheitsabfrage verhindern oder ausschalten?

Gruss und Dank
Beat


oo3.3, Windows XP
Ich verwende ganz bewusst oo3.3, da der Formularstart beim Öffnen eines Formulars mit vielen Checkbox-Feldern um ein Vielfaches schneller abläuft als bei den neuen Versionen, sowohl LO wie AO.

Nach oben