Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2013
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 05-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Lo mas simple es usar un TDBLookupComboBox y te ahorras el uso de un form adicional.

Para explicarte como configurarlo necesitaría saber:
  • Donde residen los DataSets (actividades y empleados).
  • Nombres de los campos ID y nombre de la tabla empleados.
  • Nombre del campo de la tabla actividades donde deberá ir el ID del empleado.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 05-07-2013
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Lo mas simple es usar un TDBLookupComboBox y te ahorras el uso de un form adicional.

Para explicarte como configurarlo necesitaría saber:
  • Donde residen los DataSets (actividades y empleados).
  • Nombres de los campos ID y nombre de la tabla empleados.
  • Nombre del campo de la tabla actividades donde deberá ir el ID del empleado.

Saludos
Habia pensado en eso pero pueden haber cientos de empleados... lo ideal sino seria ordenarlo por apellido y nombre.
Responder Con Cita
  #4  
Antiguo 05-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por giulichajari Ver Mensaje
Habia pensado en eso pero pueden haber cientos de empleados... lo ideal sino seria ordenarlo por apellido y nombre.
Hola.

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 ....
Responder Con Cita
  #5  
Antiguo 06-07-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
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||
Responder Con Cita
  #6  
Antiguo 06-07-2013
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Gracias

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Lo mas simple es usar un TDBLookupComboBox y te ahorras el uso de un form adicional.

Para explicarte como configurarlo necesitaría saber:
  • Donde residen los DataSets (actividades y empleados).
  • Nombres de los campos ID y nombre de la tabla empleados.
  • Nombre del campo de la tabla actividades donde deberá ir el ID del empleado.

Saludos
Si me puedes ayudar mejor:

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);
Responder Con Cita
  #7  
Antiguo 06-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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
}
No trabajo en Ms Access pero según leí, los campos se concatenan mediante el operador & en la consulta sql.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 07-07-2013
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Post 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.
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
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


La franja horaria es GMT +2. Ahora son las 21:43:03.


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