Domino 9 und frühere Versionen > ND8: Entwicklung

megasimples Problem/Zugriff auf mail-DB

(1/3) > >>

vbis:
Hallo zusammen,

vorab muss ich mich für die folgende megasimple Frage entschuldigen, aber ich habe in der Vergangenheit fast nur mit Formelsprache gearbeitet und den Zugang zu Lotus Script noch nicht so richtig gefunden....

Ich habe aus einer Vorlage vor Ewigkeiten mal eine grafische Anzeige der Mail-Datenbankbelegung auf Basis der Quota eingebunden. Da unser Rechenzentrum jetzt alle Maildatenbanken zentralisieren will und dann nur noch die Standard-Schablone mit dem Basic-Client zum Einsatz kommen können, wollte ich nun die grafische Anzeige in eine andere Know-How Datenbank einbinden, sodass die User wenigstens über diesen Umweg die Belegung einfach und grafisch erkennen können...

Der ursprüngliche Code, der auch (noch) in den User-Maildatenbanken in der Maske "SwitchewrForm_Mail" in Kombination mit berechneten "Display"-Feldern funktioniert, lautet:

Sub Postopen(Source As Notesuidocument)
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db=session.CurrentDatabase
   Dim doc As NotesDocument
   Set doc=Source.Document
   Size = Cdbl(db.Size) / 1024/1024
   If db.SizeQuota=0 Then
      doc.SizeImgBad=""
      doc.SizeImgWarn=""      
      doc.SizeImgGood=""      
      doc.RestSizeImg=""
      doc.SizeDescription=Cstr(Round(db.Size,0)/1024/1024)+"MB"      
      Exit Sub
   End If
   MaxSize = Cdbl(db.SizeQuota)/1024
   WarnSize =Cdbl(db.SizeWarning)/1024
   Score=Round(Round(Size,0)/Round(WarnSize,0)*100,1)
   Scoreall=Round(Round(Size,0)/Round(MaxSize,0)*100,1)
   'Below 75% the bar is green, above it, it becomes red
   If Score<75 Then
      doc.SizeImgGood=String(Round((Score)/10,0),"g")
      doc.SizeImgBad=""
      doc.RestSizeImg=String(10-Round((Score)/10,0),"g")
   Else
      If Score<95 Then
         doc.SizeImgWarn=String(Round((Score)/10,0),"g")   
         doc.RestSizeImg=String(10-Round((Score)/10,0),"g")
      Else
         If Score<=100 Then
            doc.SizeImgBad=String(Round((Score)/10,0),"g")
            doc.RestSizeImg=String(10-Round((Score)/10,0),"g")
         Else
            If Score>100 Then
               doc.SizeImgBad=String(Round((Scoreall)/10,0),"g")
               doc.RestSizeImg=String(10-Round((Scoreall)/10,0),"g")
            Else
               doc.SizeImgBad=String(10,"g")
               doc.SizeImgGood=""   
               doc.RestSizeImg=""
            End If
         End If
      End If
   End If      
   doc.SizeDescription= (Score)+"%"
   
End Sub


Jetzt ich meine simple Meinung, dass ich eigentlich nur unter set db die Mail-Datenbank aufrufen müsste... oder? Leider finde ich keinen Eintrag in den diversen Foren, da meine Fähigkeiten und Kenntnisse im Bereich Script doch leider sehr begrenzt sind.

Ich wäre sehr dankbar, wenn jemand Licht ins Dunkel bringen könnte und mir bei der Lösung helfen könnte... ist bestimmt ganz einfach :-)

Mitch:
Heyho,

schau die mal die Methode "OpenMail" der NotesDatabase Klasse an.

Gruß,

Mitch

Klafu:
Hallo vbis,
Wenn ich über einen Agent in der MailDB die Quota möchte, reicht mir ein:

Dim session As NotesSession
Dim Maildb As NotesDatabase
Set session = New NotesSession
Set Maildb = session.Currentdatabase
...
doc.DatabaseSizeMax = (maildb.Sizequota/1024) & " MB"


Chris

vbis:
Hallo Chris,

wenn ich den Script in der anderen Datenbank eingebe/anpasse und den Agenten ausführe, bekomme ich den Fehler: "Database has not been openes yet"

Kann ich auf dem beschriebenen Weg auch datenbankübergreifend mir die Werte holen und anzeigen lassen? Wie gesagt... Script ist nicht so meins....

Danke im voraus und viele Grüße
vbis

Peter Klett:
Mitch hat Dir doch schon geschrieben, wie Du es machen sollst.

Also ganz zu Fuß eins zu eins aus der Hilfe kopiert. Wo ist das Problem?

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db=session.CurrentDatabase
   Dim db As New NotesDatabase( "", "" )
   Call db.OpenMail
   Dim doc As NotesDocument
  ...

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln