Domino 9 und frühere Versionen > Administration & Userprobleme
SchMgr BusyName - Doc-ID existiert nicht
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