You can't use the bmAppendUpdate mode for the TVirtualTable component because in this mode you need a unique key for destination Dataset. And TVirtualTable doesn't support unique keys. Is using the "distinct" keyword in a query inappropriate for you?