Autor Thema: Datenbank öffnen Dialog mit Script?  (Gelesen 1724 mal)

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Datenbank öffnen Dialog mit Script?
« 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

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datenbank öffnen Dialog mit Script?
« Antwort #1 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é
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Datenbank öffnen Dialog mit Script?
« Antwort #2 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?


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datenbank öffnen Dialog mit Script?
« Antwort #3 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

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Datenbank öffnen Dialog mit Script?
« Antwort #4 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datenbank öffnen Dialog mit Script?
« Antwort #5 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

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Datenbank öffnen Dialog mit Script?
« Antwort #6 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...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz