Delphi - Campos calculados en DataSet

 
Vista:

Campos calculados en DataSet

Publicado por Juan Ovelar (8 intervenciones) el 23/03/2003 15:18:49
Por favor si alguien me puede ayudar para hacer un DataSet que tenga como un campo agregado los datos de otro dataset en un Master-Detail.
Es decir, tengo en un DataSet el codigo y quiero mostrar su descripcion que esta en el otro DataSet.
Agradeceré sus colaboraciones.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Campos calculados en DataSet

Publicado por Ernesto D'Spirito (706 intervenciones) el 23/03/2003 23:40:12
Si es para mostrar en un DBGrid, no uses un campo calculado pretendiento asignar directamente en el evento OnCalcFields:

Tabla1.FieldByName('campocalc').AsString := Tabla2.FieldByName('campo').AsString;

La razón es que el puntero de registro de la segunda tabla no se mueve al realizar el llenado del grid, lo que producirá como resultado que el campo calculado de todos los registros tendrá el mismo valor.

Tendrías que hacer una búsqueda de la clave en la segunda tabla, y entonces sí realizar la asignación, pero para eso mejor directamente usar un campo Lookup que realiza esa tarea por ti sin programar ni una línea de código (elige Lookup en vez de Calculated al crear el campo en el Editor de Campos [Fields Editor] de la tabla).

Si es un campo String no olvides poner la longitud del campo (o se asumirá cero).

Espero que te sirva.

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar