Hallo zusammen,
ich habe folgende Konstellation: Es gibt ein (Haupt-)Dokument mit einem embedded View. In dem embedded View gibts eine Funktion für neue Dokumente, die in dem embedded View dann angezeigt werden sollen und Daten übernehmen aus dem Hauptdokument. Beim Speichern eines neuen Dokumentes sollen einige Werte abgefragt werden und im QuerySave soll ein bisschen was berechnet und entsprechend einige Felder gefüllt werden.
Soweit, so gut, es funktioniert auch. Teilweise.
Ich kann ein neues Dokument erstellen. Die Werte werden übernommen. Ich kann meine Felder wie gewünscht anpassen. Ich kann beim neuen Dokument auf "Speichern" klicken.... und was dann passiert, kann ich nicht nachvollziehen.
Es kommt die Fehlermeldung: "Type mismatch in method CheckOperand: Unknown found, unknown expected", der Debugger springt nicht an, obwohl er eingeschaltet ist(!) und das neue Dokument wird gespeichert und in dem View angezeigt.
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim shipped1, shipped2, totalshipped As Integer
Dim quan, parent As Variant
Set db = ses.CurrentDatabase
Set view = db.GetView("(DelQuan)")
quan = Source.FieldGetText("DelQuantity")
If quan <> "" Then
Set doc = view.GetDocumentByKey(source.FieldGetText("Parent"))
shipped1 = Cint(doc.GetItemValue("ShippedAmount")(0))
shipped2 = Cint(Source.FieldGetText("DelQuantity"))
totalshipped = shipped1 + shipped2
'Ist "+" hier überhaupt der richtige Operator zum Addieren? Ich hatte es auch schon mit einem festen Wert versucht, hatte nichts geändert.
If totalshipped <= doc.GetItemValue("ShippedAmount") Then
Call doc.ReplaceItemValue("ShippedAmount",totalshipped)
Call doc.ReplaceItemValue("State","Scheduled")
Call doc.Save(True,False)
Continue = True
Else
Messagebox "You cannot ship more than you have! Your form has not been saved.",16,"Error"
Continue = False
End If
End If
End Sub
Ich würd ja gerne debuggen und schauen, wo mein Fehler steckt. Aber ohne Debugger komm ich nicht wirklich weiter.... Neustarten, Cache löschen, etc. schon versucht, das hat nix geändert. Was kann ich noch versuchen?