almacenamiento.
Para crear los campos persistentes haz doble clics sobre tu ZTable. Debería mostrarte el editor de campos. Presiona en Add Fields (dependiendo de la versión de Delphi, el editor ofrece un botón... o sino se hace con el menú contextual: botón secundario). Te debería aparecer una lista con los campos de la tabla, agrégalos.
Por defecto los nombra siguiendo la regla: NombreZTable + NombreCampo.
Si te fijas, ahora tienes en el código una lista de los campos, cada uno de una clase especialmente diseñada para trabajar y representar al tipo de datos de la base de datos.
Este es un ejemplo de una tabla que tengo de pruebas:
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
IBTable1: TIBTable;
IBTable1ID: TIntegerField;
IBTable1NOMBRE: TIBStringField;
IBTable1FECHA: TDateTimeField;
IBTable1CANTIDAD: TIBBCDField;
IBTable1MONEDA: TIBBCDField;
IBTable1FECHA1: TDateField;
IBTable1INTPEQUE: TSmallintField;
IBTable1HORA: TTimeField;
IBTable1ENTEROGRANDE1: TLargeintField;
Ahora puedes acceder a los campos con algo tan simple como:
IBTable1ENTEROGRANDE1.Value := StrToInt64(Edit1.Text);
Todos los campos persistentes tienen la propiedad Value mediante ésta se puede leer y almacenar valores. Cada campo tiene el tipo adecuado y diseñado para Value. En el ejemplo, el campo persistente IBTABLEENTEROGRANDE1 los datos se almacenan como Int64, por lo que su .Value es de Int64.
Con campos persistentes no deberías tener problemas. Si sigues optando por el uso de FieldByName() no podrás, puesto que como verás... no cuenta con un AsInt64... ¡debo reconocer que recién caigo en eso!
Espero que se me entienda. Sino vuelvo a explicar.
Si aún no lo hiciste, recomiendo la lectura del libro La Cara Oculta de D4. Te ayudará a comprender mejor todo esto. No te resultará difícil descargarlo, muchos sitios ofrecen su descarga.
Saludos,