Ver Mensaje Individual
  #4  
Antiguo 16-03-2010
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
Ok.

Con la primera opción, usarías un componente Query con una consulta del tipo:

Código SQL [-]
select
  Codigo, concat(Nombres, apellidos) as nombreCompleto, fechaNacimient, edad, fechaInscripcion
from tabla

Si enlazas un DBGrid a este Query, se mostrarán los campos Codigo, nombreCompleto, fechaNacimiento, edad, etc.

Aquí hay que ver cómo se hace realmente la concatenación de campos CHAR en SQL Server. Pongo concat por decir algo pero no conozco cuál es la función exacta.

Para la segunda opción, puedes usar un Query o un Table, como prefieras o requieras, conectado a tu tabla.

En el editor de campos (menú contextual del componente y luego Fields Editor...) agregas todos los campos o los campos que requieras y después añades un campo nuevo (menú contextual del editor de campos y luego Neww Field...). En las prpiedades del nuevo campo pones el nombre que gustes, por ejemplo, NombreCompleto; le pones que sea de tipo String y le das una longitud lo suficientemente grande para abarcar el nombre y apellidos. En Field Type seleccionas Calculated.

Después, en el evento OnCalcFields del Query o Table pones algo como esto:

Código Delphi [-]
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('NombreCompleto').AsString :=
    DataSet.FieldByName('nombres').AsString + ' ' +
    DataSet.FieldByName('apellidos').AsString
end;

// Saludos
Responder Con Cita