FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Llevar un dato de un formulario a otro
Bueno amigos espero poder expresarme bien ahora.
Tengo un formulario donde ingreso actividades de una quinta citrica, y para esto es necesario el campo Empleado, es decir el empleado que realizo la actividad, entonces ingreso el idempleado que debe existir en la tabla de empleados, pero el usuario nunca va a saber el id de cada uno de sus empleados, entonces me las ingenie haciendo otro formulario con un DBGRid que muestra los empleados, el usuario selecciona uno(queda negreado en el grid) y luego obtengo el idempleado de este registro. Entonces necesito llevar este id al formulario anterior donde se ingresan las actividades.¿Y como lo hago? O bien diganme otras estrategias, pero de alguna manera tengo que registrar el empleado que hizo la actividad. |
#2
|
||||
|
||||
Hola.
Lo mas simple es usar un TDBLookupComboBox y te ahorras el uso de un form adicional. Para explicarte como configurarlo necesitaría saber:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Cita:
|
#4
|
||||
|
||||
Cita:
Si deseas mostrar los campos ordenados por nombre te conviene usar un Query de los componentes que uses (TQuery, TADOQuery,TIBQuery,...) para alimentar el Combo. El TDBLookupComboBox permite la búsqueda incremental (va mostrando a medida que ingresas caracteres). Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Ya te dió eficas la solución. Recuerda que DBLookUpComboBox tiene búsqueda por la primera letra. Por otro lado si hablarmos de demasiados registros quizá te convenga más hacer un Form adicional con un campo de búsqueda donde pongan el nombre o parte de él, hacer un query con un LIKE y mostrar los resultados en un pequeño grid. Al hacer doble click en el empleado seleccionado, guardar el id y devolverlo a al form que lo invocó o un valor x definido por tí para indicar que no se seleccionó nada.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#6
|
|||
|
|||
Gracias
Cita:
Los DataSet que tengo son un TTable para poder ingresar los datos de la actividad en la tabla ACTIVIDADES (esta todo en access). Las tablas son: EMPLEADO(#Idempleado,Nombre,Apellido,Tel,Direccion,Mail,Idtrabajo); EMPLEO(#Idempleo,Idempleado,Idtrabajo); TRABAJOS(#Idtrabajo,Descripcion); La tabla de actividades es ACTIVIDADES(#Idactividad,Detalle,Fecha,Idempleado); |
#7
|
||||
|
||||
Hola.
Todos los valores son configurables en tiempo de diseño mediante el Object Inspector, pero por razónes de claridad, voy a asignarlos por código. Código:
void __fastcall TForm1::FormCreate(TObject *Sender) { TDBLookupComboBox* lcb = static_cast<TDBLookupComboBox*> (DBLookupComboBox1); // Consulta qyEmpleado->Close(); qyEmpleado->SQL->Clear(); qyEmpleado->SQL->Add("SELECT IDEMPLEADO, APELLIDO &' '& NOMBRE AS FULLNAME"); qyEmpleado->SQL->Add("FROM EMPLEADO ORDER BY APELLIDO &' '& NOMBRE"); qyEmpleado->Open(); // Configuracion del DBLookupComboBox lcb->ListSource = dsEmpleado; // DataSource -> Query empleado lcb->ListField = "FULLNAME"; // Nombre del campo apellido+nombre lcb->KeyField = "EMPNO"; // Nombre del campo ID del empleado lcb->DataSource = dsActividad; // DataSource -> Table actividad lcb->DataField = "IDEMPLEADO"; // Nombre del campo (tabla actividad) // donde se almacena el ID del empleado } Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
|||
|
|||
Muchas gracias!
Ya se soluciono. gracias por tu ayuda.
El unico tema es que no se filtra y espera a que ingrese todas las letras necesarias. Por ejemplo tengo 2 empeleados: Caruso y Cardozo, se posiciona en caruso pero sigue mostrando otros registro como perez. Que podria hacer? Al escribir la C no tendria que mostrar la P, ya al marcar la 'U' 'caru' debe desaparecer cardozo. Última edición por giulichajari fecha: 07-07-2013 a las 15:05:19. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llevar aplicación Firebird a otro ordenador | bulc | Firebird e Interbase | 12 | 17-05-2013 09:34:59 |
Qué debe leyendas o texto de llevar un formulario Acerca De..?? | Lizette | Varios | 24 | 01-04-2009 12:55:20 |
como pasar dato de un formulario a otro ??? | chelejuan | Varios | 5 | 15-11-2004 09:25:44 |
Select mostrando otro dato | el_enigma1 | SQL | 15 | 05-09-2004 00:39:53 |
Capturar un dato de otro ordenador | José Arce | Varios | 5 | 23-01-2004 23:02:56 |
|