Domino 9 und frühere Versionen > Entwicklung

Datenbank öffnen Dialog mit Script?

(1/2) > >>

baumi78:
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

DerAndre:
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é

baumi78:
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?

koehlerbv:
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

baumi78:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln