Domino 9 und frühere Versionen > Entwicklung
Querysave
mgeidl:
Hallo liebe Leute!
Ich hab einen LS u.a., der archiviert, sollte sich ein Dokument mit gleichem Schüssel in einer bestimmten Ansicht befinden. Dieses Querysave ist aber aus Zeiten, in denen die DB nur auf einem Server gelaufen ist. Nun ist das LS so umzubauen, dass er die DB nimmt, auf der der User arbeitet. Die Unterverzeichnisse heißen auf allen Servern gleich.
Kann mir jemand helfen?
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim Doc,DocS As NotesDocument
Dim DB As NotesDatabase
Dim View As NotesView
Dim s As New NotesSession
Dim Search (1 To 1) As String
Dim DBArchiv As NotesDatabase
Set Db=s.CurrentDatabase
Set View=DB.GetView("(Lookup)")
Set Doc=Source.Document
REM Wenn Datenbank nicht auf RFLE-Server -> EXIT
If (db.server<>"RFKPSRV1/") Then
Exit Sub
Else
REM Wenn Name der Datenbank nicht "roto\Handbuch\Handbuch.nsf" -> EXIT
If (db.FilePath<>"roto\Handbuch\ManagementHB.nsf") Then
Exit Sub
End If
End If
REM wenn aktuelles Dokument nicht freigegeben -> exit
If (Doc.Status(0)<>"freigegeben") Then
Exit Sub
End If
Set DBARchiv=New NotesDatabase("","roto\Handbuch\Archiv_ManagementHB.nsf")
If (DbArchiv.IsOpen=False) Then
Exit Sub
End If
Search(1)=Doc.Werknormnummer(0)
Set DocS=View.GetDocumentByKey( Search )
REM wenn Dokument nicht gefunden -> exit
If (DocS Is Nothing) Then
Exit Sub
End If
REM wenn aktuelles Dokument gefunden wurde -> exit
If (Doc.UniversalId = DocS.UniversalId) Then
Exit Sub
End If
REM wenn gefundenes Dokument nicht freigegeben -> exit
If (DocS.Status(0)<>"freigegeben") Then
Exit Sub
End If
Doc.Index=Doc.Index(0)+1
Call DocS.CopyToDatabase(DBArchiv)
Call DocS.Remove(True)
Call View.Refresh
End Sub
Axel:
Hi,
äähhmm, so ganz verstehe ich die Frage nicht.
Mit der Zeile
Set Db=s.CurrentDatabase
nimmt er doch die DB auf der der User arbeitet, egal ob lokal oder auf dem Server. Oder vestehe ich da was falsch.
Axel
mgeidl:
Hi!
Ich hab einfach die Zeile:
REM Wenn Datenbank nicht auf RFLE-Server -> EXIT
If (db.server<>"RFKPSRV1/") Then
Exit Sub
Else
End IF
rausgelöscht, dann hat´s funzt.
Danke trotzdem
ata:
... ich hab da so meine Zweifel, ob das funktioniert, den dein Server hat keine Organistaion - und db.Server gibt den kompletten Namen des Servers zurück - dein Stringvergleich kann nicht zutreffen...
ata
mgeidl:
Hi ata!
Hast recht, das funktioniert nur am Server, an dem ich gerade arbeite, aber sobald repliziert wird, ist´s dann doppelt. Kann ich das irgendwie verhindern?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln