developerWorks  >  Lotus  >  Forums & community  >  Notes/Domino 6 and 7 Forum

Notes/Domino 6 and 7 Forum

developerWorks




Mailbox analysis - Need some help
William STEVAN 08/30/2012 07:15 PM
Domino Administrator All Releases Windows 2003


Hello,

I am writing a code to scan all mailboxes into Domino mail\ directory.

I would like to get:

- Db title (form : Name)
- Db path (form : Mfile)
- Db quota (form : Quota)
- Db size (form : Tbc)
- Db Nb Doc into on database (form : Ndoc)
- Db Template used (form : Modele)
- Db creation date (form : Dcreation)

Here is my code, but it does not work… Can U help me?

-------------------------------------------------------------
Sub Initialize
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim Mdb As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim Profil As NotesDocument
Dim flag As Variant
Set db = session.CurrentDatabase

'---
'Delete database document

Set collection = db.AllDocuments
Call collection.RemoveAll(True)

'---
'Get profile data

Set Profil = db.GetProfileDocument("Site")
Quota& = Profil.Tquota(0)
Chemin$ = Profil.Notesmail(0)

'---
'Get path to scan database

PathName$ = chemin$ + "*.nsf"
FileName$ = Dir$(PathName$, 0)

'---
' Scanning

Do While fileName$ <> ""
Set Mdb=New NotesDatabase("",FileName$)
Dbfile$ = Chemin$ & FileName$

'---
‘Opening database to collect information

flag = Mdb.Isopen
'Messagebox flag$
If Not flag Then
On Error Resume Next
flag = Mdb.Open( "",Dbfile$)
End If
'---
' Create document with database information

Set doc = New NotesDocument ( db )
Set doc = db.CreateDocument
Set collection = Mdb.AllDocuments

If Not flag Then
doc.form = "IT"
doc.Mfile = Dbfile$
doc.name = "No access"
doc.Modele = "No access"
Else
doc.Ndoc= collection.count
doc.Form = "IT"
doc.Name = Mdb.Title
doc.Dcreation = Mdb.Created
doc.Mfile =Mdb.Filename
doc.Modele = Mdb.DesignTemplateName
doc.Tbc =Round(Mdb.Size /1024000,2)

If Mdb.Sizequota =0 Then
doc.quota = "No quota"
Else
doc.quota = Mdb.Sizequota/1000
End If


If Round(Mdb.Size /1024000,2) >= Mdb.Sizequota/1000 Then
doc.info ="above quota"

Else
Doc.info= "below quota"

End If

End If
Call doc.Save( True, True )
fileName$ = Dir$()
Loop
End Sub
-------------------------------------------------------------

Go back