Ver Mensaje Individual
  #2  
Antiguo 15-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita