Domino 9 und frühere Versionen > Entwicklung

Dokument über die ID kopieren

<< < (3/8) > >>

Axel:
Hi,

also ehrlich gesagt stehe ich im Moment etwas auf dem Schlauch was du genau meinst.  :-\


--- Zitat von: Selin am 08.11.04 - 14:07:23 ---wo setzt ich was ein, damit ich das Originaldokument von Feld Aktueller Wert durch einen der Originaldokumente aus Feld Ergbebnisliste, welches ich markiere, ersetzen kann??

--- Ende Zitat ---

Was ist jetzt das Orginal und was wird wo ersetzt?  Wie passt das mit deinem Script zusammen? Das Feld Ergebnisliste ist ja in einem Dialog enthalten, so hast du das ja oben beschrieben, wo und wann wird den der Dialog aufgerufen?

So ganz habe ich auch immer noch nicht verstanden, was du eigentlich machen willst. Versuch mal mit ganz einfachen Worten das Problem zu beschreiben.


Axel
 

Selin:
Hallo Axel,

ok, ich versuchs mal:
Es geht darum Kontaktdaten aus dem persönlichen Adressbuch in ein Kundenadressbuch zu exportieren.
Bei dem Exportieren sollte natürlich geprüft werden, ob dieser Mensch in der Kundendatenbank (VIP.nsf) schon vorhanden ist.
Wenn ja, kommt eine Dialogmaske (ich krieg das Bild der Maske nicht hier rein. Klappt irgendwie nicht)
In der Dialogmaske ist ein Feld "Aktuelles" Da wird der Nachname, Vorname und die Firma aus dem zu exportierenden Wert (persönliches Adressbuch) ausgelesen.
und ein Feld Ergebnisliste (Listfeld). Hier stehen die übereinstimmenden Werte aus der Kudnendatenbank (auch nur Nachname, Vorname und Firma)
Will ich jetzt den aktuellen Wert in die Kundendatenbank, so markiere ich einen Eintrag in der Ergebnisliste und klicke auf den Knopf "Ersetzen" um den gefundenen Wert durch den aktuellen Wert zu ersetzen oder "Hinzufügen", um den aktuellen Wert zusätzlich in die Kudnendatenbank hinzuzufügen.
Da ich ja nur die 3 Felder, nämlich Nachname, Vorname und Firma in der Dialogmaske auslese, wollte ich wissen, wie ich da mit dem kompletten Datensatz bzw Kontakt arbeiten kann.
Wie kann ich also das Dokument z.B. überschreiben?

Ich hoffe, ich konnte es einigermaßen klar erläutern..


Danke nochmal vielmals

Selin

Axel:
Hi,

yoo, jetzt ist das Ganze klarer geworden. Ich denke mal das Hinzufügen ist nicht das Problem, sondern das Ersetzen, richtig?.

Auf jeden Fall gehört der Code für's hinzufügen und Ersetzen in die beiden Schaltflächen in der Dialogmaske.

Für das Ersetzen brauchst du die ID des gewählten Dokumentes. Ich würde das über folgenden Trick lösen.

Die Einträge für das Listenfeld setzt du ja in deinem Script zusammen:

...
SucheName(i-1) =tmpdoc.LastName(0) + ", " + tmpdoc.FirstName(0)+ " " +tmpdoc.CompanyName(0) + " (" + Format$( doc.LastModified, "Short Date")+")"
...

Ändere das so ab:
SucheName(i-1) =tmpdoc.LastName(0) & ", " + tmpdoc.FirstName(0)& " " & tmpdoc.CompanyName(0) & " (" & Format$( doc.LastModified, "Short Date") & ")" & "                    ~" & tmpdoc.UniversalID


Die 20 Leerzeichen dienen dazu, dass die DokID für den User "nicht sichbar" angezeigt wird. Die Anzahl kannst du entsprechend anpassen.

In dem Ersetzen-Script nimmst du den markierten Eintrag des Listenfeldes und "extrahierst" die ID.


...
intPos = InStr(doc.Ergebnisliste(0), "~")
strID = Mid$(doc.Ergebnisliste(0), pos+1)
...

 
Mit dieser ID kannst du dann auf das Dokument zugreifen.


...
Dim dbTarget As NotesDatabase
Dim docTarget As NotesDocument
...

'Hier kommt die Ermittlung der ID rein (Code siehe oben)

...
Set dbTarget = New NotesDatabase( "Name des Servers", "Name der Datenbank")
Set docTarget = dbTarget.GetDocumentByUNID( strID)
'Ab hier kann das Dokument manipuliert werden
...


Es gibt sicher noch andere, und elegantere, Wege das zu realisieren, aber auf die Schnelle hatte ich nix besseres.


Axel


 

Selin:
supi, danke

um das Dokument zu ersetzen, sollte ich da zuerst das Dok aus de Kundendatenbank löschen und den aktuellen Wert einfügen oder gibt es hierfür ein Befehl?

Axel:
Hi,

um das Dokument komplett zu ersetzen, musst du es erst löschen. Dafür gibt es keinen Befehl oder Funktion.


Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln