Domino 9 und frühere Versionen > Administration & Userprobleme

SchMgr BusyName - Doc-ID existiert nicht

<< < (3/3)

eknori:
Ja, guck dir in der Hilfe die NotesDBDirectory Klasse mal an.

Karotte:
*grübel* *kratz am kopp* muss ich das jetzt in der Hilfe kapieren ?!? Wenn ich mir das richtig übersetzte nimmt er die erste Datenbank die er findet und dann ?!?
und wie muss ich da vorgehen, einfach bei ner datenbank anfangen, agenten erstellen und dann noch die notesdbdirectory mit aufnehmen ?!?

hätteste da evtl. mal was für mich ?!?

eknori:
Ja, was in der Hilfe steht solltest du schon verstehen...

schau mal hier:

http://www.atnotes.de/index.php?board=7;action=display;threadid=7854#bot

wenn du das script ein wenig abspeckst, hast du alles, was du brauchst

Übrigens : NotesDBDirectory hat Methoden wie GetFirstDatabase und GetNextDatabase.
Einfach mal ein bisschen weiter lesen als bis zum ersten Beispiel.

eknori

Karotte:
jaja aber ich bin ehh am Ende (kaum geschlafen, kaffee hilft auch nicht mehr, und kippen gehen zur neige)..ich les mir das mal in ruhe durch... (ich find es nur in der hilfe blöd das auch in den englischen sachen immer wieder deutsch auftauch (Das verwirrt) )

So aber das Problem ist gelöst:

folgendes gemacht:
(fürs suchranking: SchedMgr , BusyName , $BusyName )

1. betreffende Datenbank (name im log) öffnen
2. Erstellen Agent (gültig für alle Dokumente)
3. Folgendes LS eintragen
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim docDelete As NotesDocument
Dim ProfileCollection As NotesDocumentCollection
Dim x As Integer
Dim xDelete As Integer
Dim unidJB As String

Set db = session.CurrentDatabase
If db.CurrentAccessLevel <> Acllevel_manager Then
Messagebox "You must have manager access to use this program",16,"Access Error"
Exit Sub
End If

Set profileCollection = db.GetProfileDocCollection("CalendarProfile")
If profileCollection.Count = 0 Then
Messagebox "Unable to Find any CalendarProfile Documents in the Database.",64,"Found Nothing"
Exit Sub
End If

Set doc = profileCollection.GetFirstDocument

xDelete = 0
x = profileCollection.count

Do While Not (doc Is Nothing)
If Not doc.HasItem("$BusyName") Then
xDelete = xDelete + 1
unidJB = doc.Universalid
Set doc = Nothing
Set docDelete = db.GetDocumentByUNID(unidJB)
Call docDelete.Remove(True)
Set profileCollection = db.GetProfileDocCollection("CalendarProfile")
Set doc = profileCollection.GetFirstDocument
Else
Set doc = profileCollection.GetNextDocument(doc)
End If

Loop

Messagebox "Found " & Cstr(x) & " CalendarProfile Documents in the Database." & Chr(13) & Chr(10) &_
"Deleted " & Cstr(xDelete) & " of them that did not have the $BusyName field.",64,"Done"

4. Agent ausführen
5. fertig

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln