Por favor, utiliza TAG's de Delphi (ultimos botones del editor) cuando introduzcas código.
Independientemente de que el código funcione o no, el error de "Access Violation" suele ser por un acceso a memoria incorrecto (algo que no está creado correctamente -dirección incorrecta-).
Ejecuta este código paso a paso y dinos en qué linea falla exactamente, seguramente alguno de los objetos que estás usando está a nil.
Además de lo comentado, apuntarte un par de cosas.
* Si usas el
HIGH en un for (para el limite superior), lo lógico sería utilizar el
LOW para el límite inferior.
* Si a cada vuelta del FOR, añades el texto:
'insert into ' + Tabla + '(' + campos[i] + ')'
a la SQL, al final del bucle tendrás un SQL como ésta:
Código SQL
[-]
insert into NombreTabla (campo1) insert into NombreTabla (campo2) insert into NombreTabla (campo3)
insert into NombreTabla (campo4) insert into NombreTabla (campo5) ...