Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
combo box -> campo calculado

Hola, yo como siempre con mis preguntas de primer grado :sonrojado:

Tengo un campo calculado que lo unico que hace es mostrar dos campos concatenados con una coma (Nombre y apellido, el valor del campo calculado resultante seria "PEREZ, JUAN" , por ejemplo).

Un combobox que permite seleccionar la ordenación, entre ellas ordenar por Nombre o Apellido...

Lo que yo quiero es que si ordena por apellido ponga primero el apellido, y si ordena por nombre ponga primero el nombre.... (si ordena por nombre que aparezca "JUAN, PEREZ").

Lo que se me ocurrió es que en el evento onCalcFields del componente Dataset poner un condicional que se fije el valor text del combo, pero no funciona... el combo al realizar la ordenación cierra y abre el dataSet, pensé que al reabrirse el evento se recalcularía como yo quiero pero nada...

en teoría cual sería la forma correcta de lograrlo? al parecer no me toma el valor del combobox.

la otra que me queda es usar dos campos calculados y setear a visible el que sea pertinente, pero esa forma como que no me agrada mucho...

saludos!
Responder Con Cita
  #2  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad no entiendo.
Supongo que tendras una tabla en la que esten los campos nombre y apellido.
Si es asi, para que hacer un campo calculado, si se puede hacer con una sentencia sql y un if then.
Lo que haces en el campo calculado es una concatenacion, por que no directa?.
Saludos
Responder Con Cita
  #3  
Antiguo 05-03-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
la sentencia sql del dataset es un simple 'select * from personas'

en el evento onCalcFields del campo calculado del dataset tengo una asignación como esta:

'Dataset1['cldNOMBRE_COMPLETO']:= Dataset1['APELLIDOS']+', '+Dataset1['NOMBRES'] ;'

En el combo box tengo los criterios de ordenación, cuando cambia su texto a "Nombre" yo quiero que lo asignado al campo 'cldNOMBRE_COMPLETO' sea primero el nombre, después el apellido(dar vuelta la parte derecha de la asignación).

Lo que hice es, dentro del evento onCalcFields un if then else que se fija el valor del combobox, pero de esta forma no funciona....


lo que dices supongo que es un select condicional en vez de el 'select * from personas' que tengo en el dataset? si es así, como sería la sintáxis de eso?

gracias
Responder Con Cita
  #4  
Antiguo 05-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
utiliza un dblookupcpmbobox, conectado a un dataset que tenga el campo que tu dices, puedes separar el nombre de los campos con punto y coma ";"
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 05-03-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
hola eduarcol

en el combobox solamente aparecen los criterios de ordenamiento: "nombre" ... "apellido"... etc , una lista estática me basta, ese no es mi problema =(

saludos
Responder Con Cita
  #6  
Antiguo 05-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Veamos si logro entender esto.
Tienes una tabla en la que hay dos campos, nombre y apellido.
Tienes un combobox en el que tienes una serie de items para elegir, entre ellos Nombre y apellido.
Este combobox es el que genera el filtro.
Si estoy bien hasta aqui me dices.
Ahora pregunto: donde vas a presentar ese filtro?.
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Campo Calculado!!! Ledian_Fdez OOP 1 03-10-2007 22:10:01
Pasar un campo calculado a un campo del mismo DbGrid maravert Conexión con bases de datos 3 12-05-2006 00:31:30
Campo calculado sercornejov MySQL 3 09-08-2005 02:54:35
Campo de bd calculado davidgaldo MS SQL Server 3 20-05-2005 15:50:22


La franja horaria es GMT +2. Ahora son las 13:16:06.


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