Autor Thema: Dialogbox einer Datenbank aufrufen  (Gelesen 2906 mal)

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Dialogbox einer Datenbank aufrufen
« am: 04.08.10 - 19:07:17 »
Hallo,
kann ich eine Dialogbox aufrufen, wenn ich mich nicht in der Datenbank selber befinde. Ich denke hier z.B. an ein Smart-Icon. Oder gibt es dafür eine Alternative? Eine Maske öffnen ist kein Problem, ich möchte aber kein Full-Screen Fenster, sondern lediglich ein kleines Pop-Up Fenster wo ich eine Auswahl treffen kann, bevor es weitergeht.
Gruss
Lloyd

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dialogbox einer Datenbank aufrufen
« Antwort #1 am: 04.08.10 - 21:12:54 »
Ich weiss nicht, ob ich der einzige bin, der mit der Anfrage noch ein Problem hat: Kannst Du genaueres über Dein Vorhaben und den Hintergrund / die Rahmenbedingungen sagen?

Bernhard

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Re: Dialogbox einer Datenbank aufrufen
« Antwort #2 am: 05.08.10 - 09:50:04 »
Hallo Bernhard,
ich möchte per Script eine Dialogbox öffnen (z.B. siehe Scriptcode).

Set ws = New NotesUIWorkspace 'Frontend
Call ws.DialogBox("Test", True, True, False, False, False, False, db.Title, doc, True) 'Frontend

Allerdings möchte ich die Dialogbox per Smart-Icon öffnen. Ich befinde mich also nicht in der Datenbank selbst, so dass ich die Maske "Test" nicht ansprechen kann, die die Dialogbox verwenden soll. Gibt es eine Möglichkeit die Dialogbox über das Backend anzusprechen, so dass ich zunächst die Datenbank mitgeben kann und somit auch Zugriff auf die Masken habe? Für Alternativen bin ich offen.
Gruss
Lloyd

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dialogbox einer Datenbank aufrufen
« Antwort #3 am: 05.08.10 - 10:00:22 »
Hallo,

Lotus Script kann in den Smart-Icons nicht verwendet werden.
Hier kannst Du nur @-Funktionen verwenden.

Und hier gibt es doch die Funktion @DialogBox(...)


Andreas

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Re: Dialogbox einer Datenbank aufrufen
« Antwort #4 am: 05.08.10 - 10:18:14 »
Hallo Andreas,
du hast natürlich recht, script geht in den Smart-Icons nicht. Im Grunde geht es mir darum, dass ich eine bestimmte Maske einer Datenbank aus einer anderen Datenbank über eine Dialogbox aufrufen kann. Was ich bisher gesehen habe, kann ich aber eine Dialogbox nur verwenden, wenn ich mich gerade in der Datenbank befinde wo auch die entsprechende Maske drin ist, was in meinem Vorhaben nicht der Fall ist.
Gruss
Lloyd

Offline S2000

  • Junior Mitglied
  • **
  • Beiträge: 89
Re: Dialogbox einer Datenbank aufrufen
« Antwort #5 am: 05.08.10 - 11:03:15 »
... öffne über das smarticon ein dokument in der DB in welcher deine dialogbox ist. Nutze das QO oder PO um deine Dialogbox anzuzeigen. Die Events kannst Du dann mit einem Continue=False 'abbrechen'. Nutze ich so für diverse 'Service-Aktionen'.

Gruß
Armin
Wer Notes hat braucht kein Sudoku

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Re: Dialogbox einer Datenbank aufrufen
« Antwort #6 am: 10.08.10 - 15:41:02 »
Hallo Armin,
genau das habe ich gesucht. Funktioniert prima.

Vielen Dank.
Gruss
Lloyd

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Re: Dialogbox einer Datenbank aufrufen
« Antwort #7 am: 11.08.10 - 11:24:05 »
Hallo Armin,
ich muss doch nochmal eine Frage stellen: Im PostOpen der Maske öffne ich meine Dialogbox. Klicke ich in der Dialogbox auf "OK", dann schliesst sich die Dialogbox und die Maske dahinter auch. Klicke ich auf "Abbrechen" oder drücke "Escape" schliesst sich zwar die Dialogbox, aber die Maske dahinter bleibt offen. Irgendwie läuft er das QueryOpen dann nicht mehr weiter durch. Ich habe über diverse Prints gesehen dass er das PostOpen nur weiter durchläuft wenn ich in der Dialogbox auf "OK" klicke. Woran könnte das liegen ?

Dim Source As NotesUIDocument
Dim answer As Boolean
answer = ws.DialogBox( "Erfassung", True, True, False, False, False, False, "Dokument anlegen",dok,False,False,True)
If answer = True Then
...
...
End If
Call Source.Close(True)
Gruss
Lloyd

Offline Lloyd

  • Aktives Mitglied
  • ***
  • Beiträge: 211
Re: Dialogbox einer Datenbank aufrufen
« Antwort #8 am: 11.08.10 - 11:29:12 »
Jetzt hab ich zumindest eine Möglichkeit gefunden wie ich das umgehen kann. Wenn ich das "Call Source.Close(True)" direkt nach dem Öffnen der Dialogbox durchführe, schliesst sich die Maske im Hintergrund auf alle Fälle immer. Mich würde aber dennoch interessieren warum der PostOpen nicht weiter durchläuft wenn ich die Dialogbox abbreche, vielleicht hat jemand eine Antwort für mich, damit ich auch verstehe warum das so passiert.

Dim Source As NotesUIDocument
Dim answer As Boolean
answer = ws.DialogBox( "Erfassung", True, True, False, False, False, False, "Dokument anlegen",dok,False,False,True)
Call Source.Close(True)
If answer = True Then
...
...
End If
Gruss
Lloyd

Offline S2000

  • Junior Mitglied
  • **
  • Beiträge: 89
Re: Dialogbox einer Datenbank aufrufen
« Antwort #9 am: 16.08.10 - 14:31:58 »
... ich verwende inzwischen hierfür nur noch das Queropen (da ich dann auch mehrere Dokumente markieren kann). Der Code muss immer an das "Continue = False" kommen, dann sollte die maske immer zugehen (d.h. nie aufgehen, das tut sie nur noch bei einem fehler ...).

Gruß
Armin
Wer Notes hat braucht kein Sudoku

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz