Domino 9 und frühere Versionen > ND7: Entwicklung

Wo ist bloß der Fehler?

(1/3) > >>

zyrak2003:
Ich habe folgendes Script. Funktioniert auch alles soweit, aber am Ende soll das Dokument (nach dem Speichern) geschlossen werden. Passiert aber nicht:

Sub Click(Source As Button)
   Dim s As New Notessession
   Dim db As NotesDatabase
   Dim dbAdr As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim docAdr As NotesDocument
   
   Dim ws As New NotesUIWorkspace
   Set doc=ws.CurrentDocument.Document
   
   Dim ID As String
   Dim servername As String
   Dim dbname As String
   
   Servername="xxx"
   DBname="xxx.nsf"
      
   Set dbAdr=s.GetDatabase(Servername, DBname)
   
   If Not dbAdr.IsOpen Then
      Msgbox "Die Datenbank konnte nicht geöffnet werden." & Chr(13) & "Der Vorgang wird abgebrochen!"
      Exit Sub
   End If
   
   Set view=dbadr.GetView("LUDocID")
   id=doc.AdrDocID(0)
   Set docAdr=view.GetDocumentByKey(ID)
   docAdr.FirstName=doc.FirstName(0)
   docAdr.LastName=doc.LastName(0)
   docAdr.StreetAddress=doc.StreetAddress(0)
   docAdr.Anrede=doc.Anrede(0)
   docAdr.Zip=doc.Zip(0)
   docAdr.City=doc.City(0)
   docAdr.Country=doc.Country(0)
   docAdr.save True, False
   doc.Save True, False
   doc.close
   
End Sub

Danke für einen Tipp!

ZaLudtske:
Hallo,

für die notesdocument-Klasse gibt es keine Methode close.

Du mußt entweder das Document mit

--- Code: ---set doc = nothing
--- Ende Code ---


oder


--- Code: ---delete doc
--- Ende Code ---


schliessen.


mfg

rainer

m3:
NotesDocument != NotesUIDocument

"Schließen" und damit die Methode "Close" gibts nur beim UIDocument (UserInterface...)!

pete_bla:
Hi,

genau!

und ausserdem würde ich dir 2 dinge vorschlagen:
1. verwende noch in Opitons:

--- Code: ---Option Declare 
--- Ende Code ---
dann bekommst du bereits im Desinger eine Fehlermeldung wo es nicht passt.

2. ein Errorhandling:
gleich am Anfang:

--- Code: ---on error goto Hell
--- Ende Code ---
und am Ende, noch vor end sub

--- Code: ---Hell:
      if Not err() = 0 then
Messagebox "Fehler #" & Cstr(err()) &  " " & Error() & " in Zeile: " & cstr(erl())
Exit sub  ' oder: exit function ' oder resume
     End if

--- Ende Code ---

Gruss, Pete(r)

koehlerbv:
Abgesehen davon ist LotusScript bzw. Notes sehr gnädig, was "garbage collection" angeht: Ein "Close" eines Backend-Dokuments ist vollkommen unnötig, da es mit der Terminierung des Moduls sowieso im Orkus verschwindet.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln