Neuer Datensatz durch VBScript speichern

Hallo,

ich schreibe ein Skript mit VBS, das einen neu erstellenden Datensatz anpassen und speichern soll und das per Klick auf eine Schaltfläche in der Eingabemaske. Der Benutzer soll “Neu” in einer bestimmten Ansicht klicken, dann auf die Schaltfläche und dann kommt irgendwann die folgende Stelle ins Spiel:

Dim oView : Set oView = cRM.CurrentProject.ActiveViews.ActiveView
Dim oRecordSet : Set oRecordSet = oView.CurrentRecordSet
Dim oRecord : Set oRecord = oRecordSet.CurrentRecord

' Inzwischen passe ich die Daten an

oRecord.Save()
Set oRecord = Nothing
Set oRecordSet = Nothing
oView.Update()

Save() wird ausgeführt (obwohl ich noch nicht sicher bin, ob der Datensatz tatsächlich angelegt wird), aber beim Update() bekomme ich die Frage, ob der Datensatz gespeichert werden soll und wenn Ja, dann startet das Skript vom Anfang an, wobei ich stattdessen die Anzeige der Änderungen erwarte.

Damit das eindeutig ist: beim klicken auf die Schaltfläche, hat der Benutzer noch nicht auf “Speichern” geklickt.

Wie wäre es richtig, das von mir gewollte zu erledigen? Soll ich statt oRecord anzupassen, die Eingabemaske anpassen? Weil der Datensatz nach meinem Verständnis noch nie gespeichert wurde.

Wenn der Datensatz noch nicht gespeichert ist, dann können Sie nicht über CurrentRecord der ActiveView gehen, sondern müssen - wie Sie schon richtig vermuten - mit dem InputForm-Objekt arbeiten,

Hier finden Sie für Ihr Szenario eine entsprechende Anleitung:
https://docu.combit.net/crm/12/de/sdk/#!Documents/datensatzinhalteverndernwhrendbearbeitung.htm

Falls dabei noch Fragen offen bleiben: einfach nochmal kurzmelden! :slight_smile:

1 „Gefällt mir“