Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LUSBernd am 14.08.07 - 15:24:47
-
Hallo Forum,
lange lief es gut, doch nun steh ich doch mal wieder auf dem Schlauch.
Ich habe eine Maske, in der die Anwender die Ansprechpartner ihrer Kunden löschen, hinzufügen und ändern können. Jedesmal wenn dies geschieht, soll in einem nicht sichtbaren Feld das Kenneziechen A gesetzt werden. Das wird dann an anderer Stelle ausgelesen, verarbeitet und gelöscht. So, miene Frage ist jetzt wie ich das anstelle, dass mir Notes merkt, dass was geändert wurde. Für jeden Ansprechpartner stehen fünf Felder zur Verfügungn (Name, TelNr, Mail, etc).
Freu mich über gute Vorschläge
-
Welchen Gedanken hast Du dir denn schon gemacht ?
-
Nimm die HistoryClass von Michael Wöhrer http://sw-guide.de/lotus-notes-domino/lotusscript-history/
Da hast du dann einen Überblick über alle Änderungen.
Auf OpenNTF.org gibt es auch noch etwas ( OpenAudiT ) Damit lassen sich Änderungen an Dokumenten in einer Datenbank zentral dokumentieren
-
Wenn ich einfach nur die Inhalte der fünf Felder untereinander tausche, ist das dann auch eine Änderung ?
-
allein schon was die Antwortzeiten in diesem Forum angeht kann man es nicht mit Gold aufwiegen!!!
Also, ich habe mir das ganze mal angeschaut. Grundsätzlich ist das ne tolle Sache, aber ich kann damit, glaube ich, wohl nix anfangen. Es ist nämlich so:
Ich habe für die Anwender insgesamt 10 Ansprechpartner vorgesehen, die alle mit mehr oder weniger sinnvollen Daten gepflegt werden können. Die Ansprechpartner haben keine eigeneDatenbank, sondern es sind nur Felder in der Datenbank "Kontakte". Jetzt ist es so, dass je nachdem welcher Ansprechpartener geändert wird ein anderes Feld mit einem "A" gefüllt wird. Und anschließend wird dieser eine Ansprechpartner mit einem Transportprogramm zur AS/400 geschickt und dort weiter verarbeitet.
Ich habe auch einen Lösungsansatz. Der bereitet mir nur ein paar Schwierigkeiten.
Ich wollte die Felder einzeln vergleichen. Ist zwar viel Arbeit (Schreibarbeit), aber wohl noch das einfachste.
Nur leider klappt das mit dem verhgleichen nicht so. Er nimmt mir immer die Werte aus der aktuell geöffneten Maske und stellt die gegenüber. NAtürlich stellt er da keine Änderung fest.
Ich würde ihn einfach nur gerne dazu bringen das Feld in der aktuell geöffneten Maske mit dem in der Datenbank hinterlegten zu vergleichen.
-
Im Postopen die Inhalte merken und im QuerySave vergleichen.
Abär: Wenn ich einfach nur die Inhalte der fünf Felder untereinander tausche, ist das dann auch eine Änderung ?
PS
allein schon was die Antwortzeiten in diesem Forum angeht
Wir haben eben nix Besseres zu tun... ;D
-
hi,
und wenn du beim Öffnen des Dokumentes eine globale Variable Wert_alt belegst und dann beim Speichern WErt_alt und Feldwert vergleichst?
Grüsse
Dau-in
-
@DAU-in
und wenn ich jetzt noch einen kleinen Tipp bekomme wie das funktioniert wäre mein Feiertag vielleicht sogar gerettet.
-
Globale Variable deklarieren
im Postopen wert_alt = Feldwert
im Querysave schauen ob wert_alt und Feldwert unterschiedlich sind
-
Ich wiederhole mich ungern, aber was ist, wenn :
Wenn ich einfach nur die Inhalte der fünf Felder untereinander tausche, ist das dann auch eine Änderung ?
Darüber lohnt es sich, Gedanken zu machen....
-
Hallo,
... wäre mein Feiertag vielleicht sogar gerettet.
Saarland oder katholischer Ort in Bayern?
Gruß Werner
-
@klauss
sorry
ja das ist auch eine änderung.
@WernerMo
Bavaria ;D
-
ich bin ein Mensch der viel ausprobiert, aber er füllt mir leider im Postopen nicht die Felder, d.h. er liest den alten Wert nicht ein, geschweige denn er speicher ihn als neues Feld ab.
Bevor ich mich hier im Forum deswegen zum Ei mache frage ich ganz offen wie so ein Postopen in diesem Fall aufgebaut sein muss, damit es funktioniert?
-
Kommando zurück. habe menien Fehler selbst gefunden!!! Schön blöd, war ein Schriebfehler
Allerdings holt er mir den Wert jetzt nicht mehr zurück beim Querysave.
Tut mir Leid dass ich immer so blöd frage, aber mit den beiden Funktionen habe ich bisher noch gar nicht zu tun gehabt
-
unter Global in der Form eine Variable definieren:
Dim wertalt As String
im postopen:
Sub Postopen(Source As Notesuidocument)
wertalt = Source.FieldGetText("test1")
End Sub
im querySave:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim strTest As String
If wertalt = source.FieldGetText("test1") Then
'ok
Else
'mach was
End If
End Sub
-
Bavaria ;D
dort sind sie auch nur am feiern!
-
Wir sind hier halt ein fröhliches Völkchen ;)
Und das wichtigste:
Suuuuuuuuuuuuuuuuuuupeeeeeeeeeeeer
es funktioniert
Jetzt geh ich feiern ;D
-
Prost... YYYYYY ;D
-
ja das ist auch eine änderung.
Wenn dem so ist, dann reicht das hier aber nicht aus:
Dim strTest As String
If wertalt = source.FieldGetText("test1") Then
'ok
Else
'mach was
End if
-
Warum nicht?
Wenn im PostOpen der Feldinhalt in eine Variable ausgelesen und im QuerySave diese Variable mit dem aktuellen Feldinhalt verglichen wird, dann ist es doch egal was man mit was getauscht hat. Der Vergleich ergibt eine Änderung und darauf kann reagiert werden.
Axel
-
Ja, ok stimmt. Ist wohl noch zu früh... ::)
-
aber da du dir schon so früh Gedanken machst, habt ihr heute nicht frei oder leidest du unter Schlafmangel? (in dem Fall könntest einfach solange um den Tetraeder joggen, bis du Schlafreife hast)
Ich dachte, im Pott sind sie auch alle katholisch, genauso wie in Bayern.
-
Hallo
@DAU-in
das ist ein typisch bayerisches Missverständnis, NUR in Bayern ist Feiertag wenn der Ort überwiegend katholisch ist. Im Saarland ist im ganzen Bundesland Feiertag. Im Rest von Deutschland ist kein Feiertag.
Weitere info als PDF bei Bund.de (http://www.kmk.org/service/ferien/feiertage.pdf)
Gruß Werner
PS: da Du ja auch manchmel in der Schweiz bist: dort ist es noch viel komplizierter (oft in Abhängigkeit des Ortes)
-
<PS: da Du ja auch manchmel in der Schweiz bist: dort ist es noch viel komplizierter (oft in Abhängigkeit des Ortes)>
gar nicht kompliziert: wir ARBEITEN!
-
Hallo
@DAU-in
Dann schau Dir mal diese Tabelle an (und die ist noch nicht mal vollständig)
Feiertage in der Schweiz (http://de.wikipedia.org/wiki/Feiertage_in_der_Schweiz)
Grüße aus Weißenburg
Werner
-
Hallo,
an alle, die ein ähnliches PRoblem haben und natürlich auch die, die hier so nett und natürlich auch hilfreich mitdiskutiert haben.
Als Betroffener kann ich sagen, dass es funktioniert, mal abgesehen, dass in meinen if then -Befehlen noch eineige Fehler waren. Aber nach einem Tag Arbeit ist auch das jetzt in Ordnung.
Danke an alle hier O0
PS: Natürlich ist nicht in ganz Bayer Feiertag. Abe rin unserer schönen Hauotstadt schon; zum Glück ;D