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?