Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2007
Moparova Moparova is offline
Miembro
 
Registrado: oct 2006
Posts: 42
Poder: 0
Moparova Va por buen camino
Lookup en Dbgrid

Hola, tengo una gran duda.

Tengo un dbgrid con campos de busqueda, el problema es que no son editables es decir, el primero me devuelve el num de empleado (busca en la tabla de empleados) para validar que exista, el problema es que son 5000 empleados y hay que buscarlo, ya que solo me permite seleccionarlo mediante el cuadro despegable , lo que yo quiero es poder escribirlo, hay alguna propiedad que me deje hacer esto.
Gracias
Responder Con Cita
  #2  
Antiguo 24-07-2007
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 muy bien lo que quieres hacer, a lo que entiendo, se podria hacer con un edit, un filtro o sql, no se de varias maneras.
Saludos
Responder Con Cita
  #3  
Antiguo 24-07-2007
Moparova Moparova is offline
Miembro
 
Registrado: oct 2006
Posts: 42
Poder: 0
Moparova Va por buen camino
Lo que trato de hacer es lo siguiente.
En mi tabla almaceno la información de capacitación de los empleados.

Los campos son los siguientes:

Id_Emp ( es el campo lookup relacionado a la tabla de empleados)
Curso
calificación

Mi problema es en el id_emp, que solo me permite seleccionarlo del cuadro de lsita que aparece, pero son más de 5000 empleados, lo que yo quisiera hacer es poder escribirlo directamente o buscarlo, cualquiera de las 2 formas

no se si me explique bien

Gracias
Responder Con Cita
  #4  
Antiguo 24-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Sigo sin entender y saber que base de datos usas y con que componentes la enlazas, pero para que te des una idea con un filtro, seria algo asi:
Colocas un edit, en donde vas a poner el nombre o codigo, colocas un table, en mi caso uso adotable, y haces el filtro en el evento OnChange.
Código Delphi [-]var Filtro : String; begin If (Edit1.Text <> '') then begin ADOTable1.Filtered := False; Filtro := 'Id_Emp Like '+Edit1.Text ADOTable1.Filter := Filtro; ADOTable1.Filtered := True end else ADOTable1.Filtered := False; end;


Tambien se puede hacer con una sentencia sql, pero para eso necesito mas datos.
Saludos
Responder Con Cita
  #5  
Antiguo 24-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Sigo sin entender y saber que base de datos usas y con que componentes la enlazas, pero para que te des una idea con un filtro, seria algo asi:
Colocas un edit, en donde vas a poner el nombre o codigo, colocas un table, en mi caso uso adotable, y haces el filtro en el evento OnChange.
Código Delphi [-]
var Filtro : String;
begin
If (Edit1.Text <> '') then
begin ADOTable1.Filtered := False; Filtro := 'Id_Emp Like '+Edit1.Text ADOTable1.Filter := Filtro; ADOTable1.Filtered := True end else ADOTable1.Filtered := False; end;

Tambien se puede hacer con una sentencia sql, pero para eso necesito mas datos.
Saludos
Responder Con Cita
  #6  
Antiguo 24-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo que yo no entiendo es por qué un campo lookup. Da toda la impresión de que Id_Emp es un campo de la tabla de capacitación- la llave foránea que enlaza con la tabla de empleados, de manera que no hay necesidad de un campo de búsqueda. Se pone el campo tal cual, y se escribe el id del empleado.

// Saludos
Responder Con Cita
  #7  
Antiguo 24-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Perdon pero no me sale el codigo legible en esto, lo intento de nuevo:
Código Delphi [-]
var Filtro : String;
begin
If (Edit1.Text <> '') then
begin
ADOTable1.Filtered := False;
Filtro := 'Id_Emp Like '+Edit1.Text;
ADOTable1.Filter := Filtro; 
ADOTable1.Filtered := True
end
else
ADOTable1.Filtered := False;
end;
Responder Con Cita
  #8  
Antiguo 24-07-2007
Moparova Moparova is offline
Miembro
 
Registrado: oct 2006
Posts: 42
Poder: 0
Moparova Va por buen camino
Gracias Román, pero lo haga para validar que exista el empleado dentro de la tabla de empleados.

Gracias Caral, pero lo hago directamente en el dbgrid.
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
DBGRID con campo Lookup nancy OOP 0 25-01-2007 16:39:36
ayuda dbgrid y lookup Sir_Roc Varios 4 02-02-2006 18:55:16
2 campos lookup en dbgrid JRGustavo Conexión con bases de datos 0 30-06-2005 17:05:10
LookUp en un DbGrid fmonte Varios 3 06-04-2005 19:47:30
DBGrid Con Lookup,PickList jmedina Conexión con bases de datos 2 30-06-2004 06:28:21


La franja horaria es GMT +2. Ahora son las 03:47:40.


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