Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Unir dos campos (nombre + apellidos) (https://www.clubdelphi.com/foros/showthread.php?t=4340)

Tomás 11-10-2003 20:27:03

Unir dos campos (nombre + apellidos)
 
Hola:

Tengo en una tabla puesto en un campo el nombre y en otro los apellidos y quiero que me salga en un QReport unido de esta forma:

Apellidos, Nombre (apellidos...coma...nombre)

Utilizo Interbase conectado con IBX: IBDatabase, IBTransaction, IBDataSet y QuickReport.

¿cómo se hace esto?.

Un saludo. Tomás

marcoszorrilla 11-10-2003 22:02:21

Bueno pues tenemos un problema y es que usando QrExpression, no acepta la instrucción TRIM, con lo cual obtendríamos algo como:

Pérez López________Juan.

__ =espacios en blanco.

Asi que tienes que quitar los 2 campos y sustituirlos por una etiqueta, y luego en el evento OnPrint de alguno de los campos restantes algo como en este ejemplo:

Código:

procedure TfrLstAgenda.QRDBText5Print(sender: TObject; var Value: String);
begin
QrLabel.Caption:=Trim(DmRauch.AgendaApellidos.Value)+' '+Trim(DmRauch.AgendaNombre.Value);
end;

Un Saludo.

Tomás 12-10-2003 14:38:33

El problema ahora es que solo tengo esos dos campos (nombre, apellidos) y si los quito no me queda ninguno para poner en el evento OnPrint.

Lo mejor que se me ocurre es añadir a la tabla un campo "fantasma" siempre vacio, lo pongo en el QuickReporr, donde no se verá por estar vacio, y lo utlizo para poner en su evento OnPrint lo que tu me apuntas.

Voy a probar a ver si funciona.

Gracias por la ayuda.

Tomás.

marcoszorrilla 12-10-2003 17:16:28

Más simple aún deja uno de ellos y le pones visible = False, con esto lo tienes resuelto.

Un Saludo.

Tomás 12-10-2003 18:23:26

He dejado uno solo, pero el TQRDBText no tiene la propiedad Visible.

Lo que he hecho es poner la propiedad Font ... Color ... Blanco y va bien.

Una curiosidad:
Se me ha olvidado poner el TRIM y he discubierto que no pone los blancos ¿¿?? (D7).
QRLNombre.Caption := DM.IBDSAlumnosAPELLIDOS.AsString+', '+DM.IBDSAlumnosNOMBRE.AsString ;
Sale bien: Fliti, Hichan

Gracias de nuevo.
Tomás.

plmperez 09-02-2004 04:42:56

variante del problema
 
necesito cargar un combo para elegir a la persona en el formulario... obviamente el keyvalue debe ser mi primarykey para relacionar con una tabla.

__cadetill 09-02-2004 10:22:57

Veamos Tomás

Si nos fijamos en los parámetros recibidos en el evento OnPrint del TQrDbText, vemos que uno de ellos es Value que es de tipo var, por lo que podemos aprobecharlo para hacer lo que queremos

Suponemos que tenemos el QRDBText ligado al campo de apellidos
Código:

procedure TfrLstAgenda.QRDBText5Print(sender: TObject; var Value: String);
begin
  Value := Trim(Value) + ', ' + Trim(DmRauch.AgendaNombre.Value);
end;


Tomás 09-02-2004 16:11:41

Hola:

Gracias por la respuesta Cadetill, pero no es para mí.

Este hilo lo puse yo a principios de octubre y ya solucioné la duda, pero parece que PLMPEREZ lo ha retomado y es él el que hace la última pregunta.

Un saludo. Tomás.

PD. Ya que estoy aqui ¿no hay alguna sección o algo en el ClubDelphi para consultas que no sean de programación?. Es que tengo un problema desde hace varios meses con el ordenador que no logro solucionar ¿virus, configuración, o yo que se ...?

__cadetill 09-02-2004 16:56:32

Cita:

Empezado por Tomás
Gracias por la respuesta Cadetill, pero no es para mí.

Cierto Tomás, no me había fijado en la fecha del hilo :D

Lo siento :p

Referente a tu pregunta, estamos trabajando en ello ;)


La franja horaria es GMT +2. Ahora son las 18:50:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi