Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Thunder am 29.07.11 - 08:48:27

Titel: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 08:48:27
Guten Morgen,

kurze Frage:
funktioniert "Formeln übernehmen Daten aus gewähltem Dokument" auch von einer DB in eine andere?
Ich würde gern aus unserer PersonalveränderungsDB einige Daten dazu verwenden per Button direkt einen neuen Benutzer in unserem Telefonbuch anzulegen und schon einige Felder zu befüllen. Klappt aber so einfach scheinbar nicht.

Gruß
Remko
Titel: Re: Datenübernahme in andere DB
Beitrag von: ascabg am 29.07.11 - 08:49:35
Hallo,

Nicht das ich wuesste.


Andreas
Titel: Re: Datenübernahme in andere DB
Beitrag von: Axel am 29.07.11 - 08:56:00
funktioniert "Formeln übernehmen Daten aus gewähltem Dokument" auch von einer DB in eine andere?

Nein.


Ich würde gern aus unserer PersonalveränderungsDB einige Daten dazu verwenden per Button direkt einen neuen Benutzer in unserem Telefonbuch anzulegen und schon einige Felder zu befüllen. Klappt aber so einfach scheinbar nicht.

Am einfachsten ist es doch, wenn du die entsprechenden Felder über den Button füllst. Das sollte doch kein Hexenwerk sein, oder?

Axel
Titel: Re: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 09:00:11
OK-dann weiß ich schonmal, dass es so nicht geht.

@Axel: Wenn man Script beherrscht wahrscheinlich nicht. Über Formelsprache wird das nicht funktionieren denke ich.  :-[


Danke für die schnellen Antworten.

Remko
Titel: Re: Datenübernahme in andere DB
Beitrag von: Peter Klett am 29.07.11 - 09:29:20
Das sollte auch über Formelsprache funktionieren, z.B. so:

_tmpFeld1 := Feld1;
_tmpFeld2 := Feld2;
Andere Datenbank öffnen (Befehl fehlt mir gerade, müsste ich nachsehen)
@Command ([Compose]; ...)
FIELD Feld1 := _tmpFeld1;
FIELD Feld2 := _tmpFeld2;
...

Titel: Re: Datenübernahme in andere DB
Beitrag von: Axel am 29.07.11 - 09:31:16
Ich glaube schon, dass das funktioniert. Schau dir mal die Formel-Funktion @UpdateFormulaContext an.

Da sind auch entsprechende Beispiele dabei.

Axel


Titel: Re: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 10:00:48
@Peter: So hatte ich das schon probiert. Leider ohne den gewünschten Erfolg.

@Axel: Habe den Befehl einmal hinzugefügt. Auch hier keine Änderung, obwohl es sich in der Hilfe gut liest.


_Vorname := P_Vorname;
_Name := P_Name;
_Funktion := P_Funktion;

@Command([Compose]; "S155LN03" : "Allgemein\\Telefon.NSF"; "Telefonbuch");

@UpdateFormulaContext;

FIELD TXT_Vorname :=  _Vorname;
FIELD TXT_Nachname := _Name;
FIELD TXT_Funktion := _Funktion
Titel: Re: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 10:09:13
zur Info:

Wenn ich das ganze innerhalb der DB mit einer anderen Maske ausführe - klappt es!
(Leider bringt mir das nichts)
Titel: Re: Datenübernahme in andere DB
Beitrag von: Keydins am 29.07.11 - 10:10:03
Nach dem @Command([Compose]) mache ich bei einer ähnlichen Aufgabenstellung mit

@Command([EditGotoField];"meinFeld01");
@Command([EditInsertText];_meinWert01);

weiter.

Das funktioniert ohne Probleme, das das neu erzeugte Dokument im Frontend befüllt wird. Wenn alle zu übernehmenden Ferlder befüllt sind kann man das neue Dokument entweder per @Befehl speichern & schließen oder noch benötigte Angaben manuell erfassen und dann selber speichern.

Gruß
Dirk
Titel: Re: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 10:24:00
Erzeugst Du das neue Dokument denn auch in einer anderen DB?
Bei mir kommt nur "Angegebener Befehl kann nicht ausgeführt werden"


_Vorname := P_Vorname;
_Nachname := P_Name;
_Funktion := P_Funktion;

@Command([Compose]; "S155LN03" : "Allgemein\\Telefon.NSF"; "Telefonbuch");


@Command([EditGotoField];"TXT_Vorname");
@Command([EditInsertText];_Vorname);

@Command([EditGotoField];"TXT_Nachname");
@Command([EditInsertText];_Nachname)
Titel: Re: Datenübernahme in andere DB
Beitrag von: Peter Klett am 29.07.11 - 10:40:23
Mit Script ist das eine Kleinigkeit. Willst Du es damit einmal versuchen?

Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
Dim db As NotesDatabase
Set db = doc.ParentDatabase

Dim newdb As New NotesDatabase (db.Server, "Allgemein\Telefon.NSF")
If Not newdb.IsOpen Then
   Msgbox "TelefonDB konnte nicht geöffnet werden", 16, "Fehler"
   Exit Sub
End If
Dim newdoc As New NotesDocument (newdb)
newdoc.Form = "Telefonbuch"
'Hier kommt die Feldübernahme
newdoc.TXT_Vorname = doc.P_Vorname
...

Call workspace.EditDocument (True, newdoc)
Titel: Re: Datenübernahme in andere DB
Beitrag von: Keydins am 29.07.11 - 11:33:07
Ja, ich erzeuge in einer anderen Datenbank (sogar auf einem anderen Server) per

@Command([Compose];"vollständiger Servername":"Pfad & Zieldatenbank";"Maske");

Funktioniert seit Notes 6 ohne Probleme.

Hast du in deinem [Compose] den vollständigen Servernamen eingetragen? Das ist nämlich der einzige Unterschied, den ich zwischen deiner Formel und meiner erkennen kann. Und bei Namen ist Notes manchmal sehr empfindlich.


Gruß
Dirk
Titel: Re: Datenübernahme in andere DB
Beitrag von: Thunder am 29.07.11 - 11:46:47
Habe jetzt einmal den vollständigen Namen eingetragen - keine Änderung.  :-:

@Peter: Mit dem Script läuft das einwandfrei. Besten Dank dafür!  :knuddel:
              Ich muss mich da wohl doch einmal mit befassen...

Gruß
Remko