Hallo,
BatchMove kennt nur die Datasets, die Markierung ist aber ein Feature des Grids. Um dein Problem mit BatchMove zu lösen kannst du vor dem Aufruf von BatchMove.Execute die Schlüssel der markierten Datensätze zwischenspeichern und diese Schlüssel für eine Filterung (OnFilterRecord) benutzen. BatchMove honoriert dann die Filtereinstellung.
Alternativ kannst du dir mal das TurboSQL-Statement INSERT INTO ... SELECT anschauen. Du musst zwar immernoch den Umfang deiner Selektion feststellen, aber immerhin ist
SQL zukunftsträchtiger als die Komponente TBatchMove.
Grüße vom marabu