Domino 9 und frühere Versionen > Entwicklung
Felder automatisch aktualisieren
mrx:
Hallo,
ich habe folgendest Problem. Ich habe in meiner Datenbank Auftragsdokumente und dazu jeweils mehrere Antwortdokumente die die Ergebnisse zu den Aufträgen enthalten.
Jetzt werden im Auftrag (Hauptdokument) eine Reihe von Tests ausgewählt die in einem Textfeld gespeichert werden.
Dieses wird über die "Feldinhalte vererben" Funktion in die Antwortdokumente (Ergebnisse) übertragen um sie dort mit hilfe einer Dialogbox auswählen zu können.
Jetzt kommt es aber ab und zu vor das im nachhinein Tests hinzugefügt werden und diese sind dann natürlich nicht in den bereits erfassten Ergebnisformularen verfügbar da diese ja noch die Werte enthalten die das Testfeld zum Zeitpunkt der Ergebnisformularerstellung beinhaltete.
Jetzt meine Frage, gibt es eine Möglichkeit beim öffnen eines Ergebnisformulart (Antwort auf einen Auftrag) den letzten Stand sozusagen nochmals zu kopieren so das in den Ergebnissen immer der letzte Stand des Hauptfeldes vorhanden ist???
Gruß
Malte.
Glombi:
Hi,
falls die Felder nicht bspw. in Ansichten angezeigt werden müssen, kannst Du auch mit Feldern "Berechnet zur Anzeige" arbeiten. Als Formel musst Du dann per @DbLookup den aktuellen Wert aus dem Hauptdokument lesen.
Das hat den Vorteil, dass im die aktuellen Werte angezeigt werden, ohne dass die Antworten bei Änderungen aktualisiert werden müssen.
Wenn jedoch die Werte der Antworten in Ansichten dargestellt werden sollen, müssen die gesetzt werden. Ich würde dass dann aber vom Hauptdokument antriggern. Im QueryClose abfragen, ob das Hauptdokument gespeichert wurde und ob sich relevanter Felder geändert haben. Falls ja, das in allen Antworten ändern.
Wenn Du das über das Öffnen der Antwort triggern würdest, hättest Du bis zum Öffnen Inkonsistenzen.
Zu beachten ist auch, dass bei Änderungen von Dokumnten der Anwender auch das Schreibrecht haben muss!
Andreas
mrx:
Hi,
noch ne Frage, ich hab das jetzt probiert wie du es beschrieben hast mit einem Script und beim abspeichern des Hauptdokuments.
Dabei hab ich noch ein kleines Problem. Ich greife auf die Funktion Responses zu, wie kann ich feststellen ob das Set ProbenCollection = doc.Responses erfolgreich war?!
Bei neuen Dokumenten die noch keine Antworten haben fliege ich da sonst jedes mal auf die schnauze weil das Set schief geht.
Gruß
Malte.
Axel:
--- Zitat von: mrx am 04.08.03 - 11:40:36 ---Hi,
Dabei hab ich noch ein kleines Problem. Ich greife auf die Funktion Responses zu, wie kann ich feststellen ob das Set ProbenCollection = doc.Responses erfolgreich war?!
Bei neuen Dokumenten die noch keine Antworten haben fliege ich da sonst jedes mal auf die schnauze weil das Set schief geht.
Gruß
Malte.
--- Ende Zitat ---
Hi,
so:
Set ProbenCollection = doc.Responses
If ProbenCollection.Count > 0 Then
Messgebox "Dokument hat Antwortdokumente"
...
Else
Messagebox "Es gibt keine Antworten"
End If
...
Axel
mrx:
Hi,
meinst du das Funktioniert?
Wenn ich ein neues Formular erstelle, bekomme ich immer den Fehler "Object Variable not set" oder so... das ist ja auch einleuchtend, nur wenn ich in der For schleife schon nicht auf die Count Property zugreifen kann ohne einen Fehler zu bekommen, dann wird deine Methode wahrscheinlich auch nicht funktionieren...
Gibts in notes nicht sowas wie in Delphi wo man feststellen kann ob ein Objekt existiert oder nicht? Bei Delphi hieß das Assigned(Variablenname) und dann gabs True/False zurück je anchdem ob das Objekt existiert oder nicht...
Kann ich evtl. abfragen ob das Dokument was ich gerade abspeicher (Funktion QuerySave) ein neues Dokument ist oder ob es bereits existiert und nur nochmal abgespeichert wird?
Gruß
Malte.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln