Teile eines Datensatzes kopieren und in einen anderen speichern

Hallo,
ich möchte aus einem vorhandenen Datensatz viele Spalten kopieren und in einen anderen der gleichen Tabelle einfügen (per Hand zu mühsam). Ich stelle mir das so vor, dass ich in einem Formular an der Stelle, wo die Daten eingefügt werden sollen, ein Makro auslöse. Durch einen Dialog kann ich auswählen, welche Spalten ausgewählt werden sollen und von welcher Datenquelle die Daten stammen sollen (Hier: Eingabe eines Namen). Bis dahin funktioniert es. Aber bei der Erstellung einer Abfrage, die mir den Datensatz des Eintrags mit dem Namen isoliert, scheitere ich. Des weiteren nehme ich an, wenn ich die Daten selektiert habe, muss ich diese in einen Array einfügen (Syntax ist mir unklar). Völlig unklar ist mir weiterhin, wie man die Daten aus einem Array ausliest und an der richtigen Stelle in die Tabelle schreibt. Was ich bisher habe:


Fehlermeldung: BASIC-Laufzeitfehler.
Falscher Wert für Eigenschaft. Ist mein Lösungsansatz mit dem Array der Richtige? Wenn ja, wie muss ich vorgehen? Wenn nein, wie kann man das Problem lösen? Danke vorab.


Ergänzung nach der Antwort: Danke dafür zunächst. Es gelingt so, die Daten der Abfrage als verschiedene Variablen auszulesen und auch diese in ein Array zu speichern. Aber es gelingt mir nicht, diese Daten - sei es als einzelne Variablen oder als Array - in den aktuellen Datensatz, von dem aus das Makro/der Dialog ausgelöst wurde, zu schreiben. Hier mein aktueller Versuch:


Danke, es war tatsächlich ein Typo im Feldnamen. Über die ausgelesenen Variablen kann ich nun Daten in das Formular eintragen. Wie geht das aber über das Array??? (Ich hatte die Vorstellung, ein zweidimensionales 2-Zeiliges Array zu erstellen, in dem in der 1. Zeile die Spaltennamen eingelesen werden, dann vom Quelldatensatz die zu den Spaltennamen gehörenden Daten eingelesen werden und dann im Zieldatensatz in den entsprechenden Spalten eingetragen werden - geht das überhaupt???).

Nach der Fehlermeldung zu urteilen gibt es das besagte Feld so nicht in dem Formular.

Und das mit dem Array würde ich anders lösen: oResult gar nicht oben auswerten, sondern erst nach oForm:

WHILE oResult.next
...
oForm.getByName("txtKristallsystem").BoundField.updateString(oResult.getString(2))
...
oForm.insertRow()
oForm.moveToInsertRow()
WEND

Prima, danke. Jetzt muss ich nur noch raus finden, wie ich in der Abfrage den konkreten String “Albit” durch eine Variable “stDatenquelle” ersetzen kann. Bislang sind alle meine Syntax-Versuche gescheitert.

Zu Zeile 60:
Daten werden so ausgelesen:

WHILE oResult.next
stVar = oResult.getString(1)
inVar = oResult.getLong(2)
boVar = oResult.getBoolean(3)
...
WEND

Und wenn Du daraus ein Array machen möchtest, dann musst Du zuerst an die Daten ran und die dann in ein Array einlesen.