1) ¿A qué te refieres con el
id de una celda?
2) No que yo sepa. Normalmente no es así ya que esto significaría que estás basando tu acceso a las tablas dependiendo de su posición física en la base y esto no es recomendable pues puede variar por varias circunstancias. Por lo general es mejor acceder a los datos localizándolos por medio de alguna clave. Lo más cercano que conozco-- y no funcionará en todo tipo de tablas -- es usando la propiedad RecNo para mover el cursor de la tabla directamente al registro deseado pero, repito, no todos los motores de bases de datos te permitirán esto.
Ahora bien, si el motor que use lo permite y estás seguro de querer algo así podrías intentar crear una clase descendiente de TTable o TQuery por ejemplo que te dé el acceso que quieres:
Código:
type
TExTable = class(TTable)
private
function GetRecord(Col, Row: Integer): TField;
public
property Records[Col, Row: Integer]: TField;
end;
implementation
function TExTable.GetRecords(Col, Row: Integer): TField;
begin
RecNo := Row;
Result := Fields[Col];
end;
Y accederías a los registros así (por ejemplo):
Código:
ExTable.Records[Columna, Renglon].AsString := 'Hola';
Variable := ExTable.Records[Columna, Renglon].AsString;
Y si a la propiedad Records le agregas el atributo
default podrás simplificarlo así
Código:
ExTable[Columna, Renglon].AsString := 'Hola';
Variable := ExTable[Columna, Renglon].AsString;
// Saludos