Hi,
ich habe es mit 2 verschiedenen Schaltflächen in einer Maske der zweiten Datenbank probiert.
Versuch 1 entsprechend Hinweis von Chris (mit dem Fehler Database has not been opened yet):Sub Click(Source As Button)
Dim server As String, mailfile As String
Dim session As NotesSession
Dim Maildb As NotesDatabase
Set session = New NotesSession
Set Maildb = session.Currentdatabase
Dim db As NotesDatabase
Set db=session.getdatabase(server, mailfile)
Dim doc As NotesDocument
Size = Cdbl(db.Size) / 1024/1024
If db.SizeQuota=0 Then
doc.SizeImgBad=""
doc.SizeImgWarn=""
doc.SizeImgGood=""
doc.RestSizeImg=""
doc.DatabaseSizeMax = (maildb.Sizequota/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
Versuch 2 entsprechend Hinweis von Mitch (Fehler bei set doc=source.Document):Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As New NotesDatabase( "", "" )
Call db.OpenMail
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
Mir ist schon klar, dass das Problem für regelmäßig programmierende Leser albern klingt, aber ich kanns halt nicht und würde mich sehr freuen, wenn mir jemand "auf die Beine" helfen würde