Domino 9 und frühere Versionen > Entwicklung

DB-Auswahldialog mit Rückgabewert

<< < (2/3) > >>

Glombi:
@Jerome:

Wie bekomme ich denn den Wert für die gewählte Datenbanken zurück - in LotusScript.
Der Variant ist bei mir immer leer  ???

Gruß
Andreas

Meff:
Hi Andreas,

kannst Du Deinen Script mal hier posten, damit man sehen kann was Du gemacht hast...

Meff ;)

Jérôme:

--- Zitat ---(...)warum baust Du Dir nicht einfach einen Array mit allen Datenbanken (...) auf (...)
--- Ende Zitat ---
Hi Meff!

Klar, das wäre auch gegangen, aber über den "Datenbank öffnen"-dialog ist es doch viel komfortabler und es sieht auch besser aus. ;)

@Andreas: Ich hab es auch grad mal mit LotusScript ausprobiert und bekomme auch nur den leeren String - mit Formelsprache geht's aber...

Ich schreibe meinen Code mal hierher:


--- Zitat ---
     Dim ws As New NotesUIWorkspace
     Dim var As Variant
     Dim i As Integer
     
     var = ws.Prompt( 13, "", "", "", "" )
     
     For i = 0 To Ubound(var)
           Msgbox var(i)      
     Next

--- Ende Zitat ---

Meff:
Dim uiWs As New NotesUIWorkspace
Dim frage As Variant, start As Variant
Dim posCounter As Integer, negCounter As Integer, errCounter As Integer, counter As Integer
Dim fragenAuswahl(2) As String, dbListe() as string
     
start = Messagebox("Diese Aktion kan mehrere Minuten dauern. Während dieser Zeit können Sie nicht Ihren Client nutzen. Möchten Sie wirklich fortfahren ?", 4 + 32, "Hinweis")
     
If start = 7 Then Exit Sub
     
     'Zuweisung der Variablen
     Set session = New NotesSession
     Set curDb = session.CurrentDatabase
     Set dbDir = New NotesDbDirectory(curDb.Server)      
     
     'Jetzt wollen wir doch mal schauen, was wir scannen sollen.
     fragenAuswahl(0) = "Datenbanken"
     fragenAuswahl(1) = "Templates"
     fragenAuswahl(2) = "beides"
     
     frage = uiWs.Prompt(PROMPT_OKCANCELLIST, "Bitte wählen", "Bitte wählen Sie aus der Liste, ob Sie Datenbanken oder Templates durchsuchen möchten.", " ", fragenAuswahl())
     
     If frage = "Datenbanken" Then
           Set checkDb = dbDir.GetFirstDatabase(DATABASE)
     Elseif frage = "Templates" Then
           Set checkDb = dbDir.GetFirstDatabase(TEMPLATE)
     Elseif frage = "beides" Then
           Set checkDb = dbDir.GetFirstDatabase(TEMPLATE_CANDIDATE)
     End If

While Not checkDb Is Nothing
           If Not checkDb.IsOpen = True Then
                 Call checkDb.Open(curDb.Server, checkDb.FilePath)
           End If

if counter = 0 then
redim dbListe(counter) as string
dbListe(counter) = checkDb.Titel + "~" + checkDb.Filepath
else
redim preserve dbListe(counter) as string
dbListe(counter) = checkDb.Titel + "~" + checkDb.Filepath
end if

Set checkDb = dbDir.GetNextDatabase 'Nächste Datenbank im Directory
counter = counter + 1
Wend

So kannst Du Dir den Array aufbauen, welche Du später in einer Liste anzeigen lässt um Dir eine davon auszuwählen. Den Wert, welche Du hier zurückbekommst kannst Du dann verwenden um Dir die Datenbank mittels NotesDatabase.Open(Servername$, DB Filepath$) zu holen und alle Properties auszulesen.

Meff ;)

Glombi:
@Jerome:
Ich habe noch mal bei LDD nachgesehen: Also die Script Methode liefert nur den Servernamen zurück. Da ich das erstmal mit einer lokalen DB ausprobiert hatte, kam "" zurück.

Mit Deiner Formel bekomme ich "Type mismatch"  ???

Wie kann man das mit der @Formelsprache machen ???

Gruß
Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln