Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: baumi78 am 02.03.06 - 14:16:16

Titel: Datenbank öffnen Dialog mit Script?
Beitrag von: baumi78 am 02.03.06 - 14:16:16
Hallo,

ich habe folgendes Problem:

Ich möchte mit einer Aktion in einer View einen Datenbank öffnen Dialog aufrufen, dann soll der Benutzer Server und Datenbank auswählen können und diese Parameter --- nämlich der Datenbankname und den Server möchte ich gerne abfragen. Geht sowas?

Grüße Baumi
Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: DerAndre am 02.03.06 - 14:35:19
Hi.

Sollte unter 5 auch gehen.

variant = notesUIWorkspace.Prompt( type%, title$, prompt$ [, default ] [, values ] )

type% --> PROMPT_CHOOSEDATABASE (13)

Den gibt es ab Notes 6 laut Hilfe nicht mehr...

Gruss

André
Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: baumi78 am 02.03.06 - 15:09:45
Hallo Andrè,

danke für die schnelle Antwort. Was du vorschlägst habe ich schon ausprobiert, funktioniert leider bei mir nicht (Client 5.011). Die Funktion selbst ist wohl auch nicht dokumentiert, deshalb wäre ich damit vorsichtig. Gibt es sonst noch ne Idee, sich den Dialog vielleicht selber zu basteln?

Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: koehlerbv am 02.03.06 - 15:21:37
Unter irgendeiner 5er Version ging es. 5.0.11 war wohl nicht dabei.

Du kannst doch auch @Prompt ([ChooseDatabase] ...) verwenden und das erhaltene Resultat an passender Stelle zwecks gefälliger Weiterverarbeitung zwischenlagern.
Ich verwende sowas zum Beispiel exessiv in Setup-Dokumenten. Der @Prompt füllt damit Felder, die dann per LS weiterverarbeitet werden (im PostRecalc, da die Aktion diese antriggert).

HTH,
Bernhard
Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: baumi78 am 02.03.06 - 15:34:09
Hi Bernhard,

da war ich auch schon so ein bisschen dran. Hab mir da aber einen abgebrochen, bin auch nicht so wirklich ein Formelsprachenfan. Hatte gedacht ein neues Dokument zu erstellen, die Werte in nem Dokument zu speichern und dann wie du sagst weiterzuverarbeiten. Das sah in etwa so aus:

FIELD fld_DBServer := vServer;
FIELD fld_DBTitle := vTitle;
FIELD fld_DBPath := vPath ;
FIELD fld_DBReplicaID := ReplicaID;
FIELD fld_Type:=fld_Type;
SelDBP := @Prompt([ChooseDatabase];"DB-Lookup";"Please select a database";"";"");
vServer := @GetMembers(SelDBP;1);
vPath := @GetMembers(SelDBP;2);
vTitle := @GetMembers(SelDBP;3);
@Prompt([OK]; "Titel"; vTitle);
@Prompt([OK]; "Titel"; vPath);
@Prompt([OK]; "Titel"; vServer);
@If(@IsError(@Implode(SelDBP)) ;@Success;
@Do(
@SetField("fld_DBTitle"; vTitle);
@SetField("fld_DBServer"; vServer);
@SetField("fld_DBPath"; vPath);
@SetField("fld_DBReplicaID";"---refresh---");
@Command([ViewRefreshFields]);
@Command([Compose]; "" ; "frm_DatabaseInfo");
@Command([FileSave])
)
)


Bin dran aber daran gescheitert, dass das @SetField nicht funktioniert (weil das Dokument zu dem Zeitpunkt nicht vorhanden ist??)

Dann hab ich probiert die Felder in der Maske mit der ich das neue "Konfigurationsdokument" erstelle, bearbeitetbar zu machen und dann per

@Command([EditGotoField];"fld_Type");
@Command([EditInsertText];"DatabaseInfo");

zu füllen, aber auch das scheiterte, deshlab habe ich da aufgegeben, aber vielleicht war ich ja auch kurz vor der Lösung. Hast du noch ein kurzes Beispiel, wie du dies verwendest in deinen Setup-Dokumenten?!

Grüße Andreas
Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: koehlerbv am 02.03.06 - 19:01:57
Mein Beispiel kann auch nur kurz sein, alldieweil dafür nicht viel erforderlich ist. Wie erwähnt - das eigentliche erfolgt ja dann eh per LS in PostRecalc:

Code
FIELD DBServer := "";
FIELD DBFilePath := "";

vDBServerFilePath := @Prompt ( [ChooseDatabase]; ""; ""; ""; "");

@If (@Elements (vDBServerFilePath) = 1; @Return(""); "");
FIELD DBServer := @GetMembers (vDBServerFilePath; 1);
FIELD DBFilePath := @GetMembers (vDBServerFilePath; 2);

REM "Trigger the PostRecalc event:";
@PostedCommand ([ViewRefreshFields])

Bernhard
Titel: Re: Datenbank öffnen Dialog mit Script?
Beitrag von: baumi78 am 03.03.06 - 11:01:23
Hi Bernhard,

danke für das Code-Beispiel. Ich denke aber das ist so ähnlich wie das was ich schon probiert habe. Das Problem ist halt das ich das ganze gerne per Schaltfläche aus einer Ansicht starten möchte und nicht aus einem Dokument heraus (wie du das scheinbar machst) und daran bin ich gescheitert...