Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: klaussal am 25.04.03 - 12:15:04
-
hi zusammen,
habe da eine freitags-kurz-vor-feierabend-frage:
möchte mir aus einem bestehenden verzeichnis alle datenbanken anzeigen lassen.
bei u.a. script sagt er mir immer, dass es das verzeichnis "Bereiche" nicht gibt. LÜGE !!!
wo liegt der fehler ??? ??? ???
danke für tipps !
--------------------------------------------------------------
Dim dbdir As New NotesDbDirectory("Bereiche")
Dim db As NotesDatabase
Set db = dbdir.GetFirstDatabase(DATABASE)
Set docNew = dbziel.createDocument
Msgbox db.Title, , db.FileName
-
Dim variableName as New NotesDbDirectory( serverName$ )
or
Set notesDbDirectory = New NotesDbDirectory( serverName$ )
Parameter
serverName$
String. The name of the server whose database files you want to navigate. Use an empty string ("") to indicate the current computer.
"Bereiche" ist bei Dir ein Verzeichnis und kein Server...da hat es schon recht, das Notes. Notes lügt nicht ;D
Wenn Du ein Unterverzeichnis ausschließlich haben möchtest, mußt Du über den "db.FilePath" den Pfad auslesen und alles, was mit BEREICHE übereinstimmt in eine Liste schmeissen und nachher ausspucken.
-
... danke rob.
möchte ja "nur" einen pfad öffen und daraus dann alle db's anzeigen lassen. kann ich nicht sofort den pfad öffnen ?
-
mir ist leider keine Methode aus den Klassen bekannt, die das so kann...schade an sich...denn unnütz ist es auf keinen Fall...NotesDBDirectory sollte eigentlich einen weiteren Parameter haben..na ja...R7 vielleicht
-
ok.
dann eben auf die steinige tour. ;D
-
vielleicht nicht ganz passend zum Thema;
hier mal eine kleine Fingerübung in LS.
Der code gibt in einer Textdatei alle volltextindizierten Dateien auf einem Server aus.
Vielkleicht kann das ja jemand mal brauchen ;D
Const C_DEFAULTFILENAME$ = "FULLTEXT.TXT"
Const C_DEFAULTSERVER$ = "DEWVX01"
Class FileGuard
filenumber As Integer
isopen As Integer
Public Property Get Handle
Handle = filenumber
End Property
Sub New()
filenumber = Freefile( )
isopen = True
End Sub
Sub Close
If isopen Then
On Error Resume Next
Close filenumber
isopen = False
End If
End Sub
Sub Delete
Me.Close
End Sub
End Class
Sub Click(Source As Button)
On Error Resume Next
Dim dbdir As New NotesDbDirectory ( C_DEFAULTSERVER$ )
Dim db As NotesDatabase
Set db = dbdir.GetFirstDatabase ( DATABASE )
Dim FG1 As New FileGuard
outfile% = FG1.Handle
Open TempDir + C_DEFAULTFILENAME$ For Output As outfile%
Dim outString As String
i% = 0
k% = 0
While Not(db Is Nothing)
Call db.Open( "", "" )
If db.IsFTIndexed Then
outstring = db.FilePath + Chr(9) + Chr(9) + Chr(9) +db.Title
Print #outfile%, outString
i% = i% + 1
outstring = ""
End If
Print db.Title, , db.FileName
k% = k% + 1
Set db = dbdir.GetNextDatabase
Wend
Print #outfile%, Chr(10) + Chr(13) + Chr(10) + Chr(13)
Print #outfile%, Cstr(k%) + " databases on server, " + Cstr(i%) + " databases with fulltext index"
FG1.Close
End Sub
Function TempDir As String
Dim tmp As String
tmp = Environ( "TEMP" )
If tmp = "" Then
tmp = Environ( "TMP" )
If tmp = "" Then
tmp = "C:"
End If
End If
TempDir = tmp +"\"
End Function
-
... nicht GAAAAAAAANZ passend, aber gut :D
schönes WE
klaus
-
Quick and dirty für alle Script und Formel Muffel :
catalog.nsf öffnen und nachsehen ;D
Voraussetzungen:
alle DBs haben das Flag "Show in database catalog"
catalog task läuft auf dem Server
:D :D ;D ;D ;D 8) 8) :P :P
** oh mann, der Salat war gestern wohl doch zu gesund **