PDA

Ver la Versión Completa : Unir dos campos (nombre + apellidos)


Tomás
11-10-2003, 20:27:03
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:


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
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

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
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 ;)