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 20-06-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Duda Puntual: Ventana de Busqueda Catálogos Grandes.

¡Hola!, Yo aquí de nuevo.

Tengo una super duda, funcional, a nivel OOP.


Espero ser explicito. (Paoti ordenando ideas raro.)

Tengo un cátalogo de muchos datos.
Ejemplo. Enfermedades (10,000 registros)

En la tabla donde se va a guardar el ID_enfermedad, es la tabla de Pacientes.

Ahora en un formulario.

La idea:

Una caja de texto: donde se capturará el id_enfermedad.
Una etiqueta: Donde aparecerá la descripción de la enfermedad.

Ahora, en caso de que se capture el id_enfermedad en la caja de texto, y exista en el catálogo, autimaticamente aparece la descripción en la etiqueta.

En caso contrario, sino se encuentra la clave, sea porque no se escribio nada o porque lo que se escribio se encontraron varias coincidencias en la base de datos, aparezca una ventana de busqueda, la cual, aparecera un grid y una caja de texto o dos, que harán una busqueda incremental sobre el catalogo de Enfermedades, una vez seleccionada la enferdad, esta se agregue en la cja de texto y etiqueta del formulario de captura.


La duda que no sé como diseñarla, es la siguiente.

como crear esa ventana de busqueda (Grid y Cajats de texto) pasandole la consulta o dataset, y despues de obtener el registro deseado, devolverlo al formulario de captura.



Gracias por el apoyo comunidad. mil gracias.


Paoti Rios
Monterrey. N.L.
México
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #2  
Antiguo 20-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código Delphi [-]
En el botón o evento de búsqueda:

with TuConsulta do begin
   if active then close;
   SQL.Clear;
   SQL.Add('Select ID, Descripcion');
   SQL.Add('From TuTabla');
   SQL.Add('where ID like :vID');
   SQL.Add('Order By ID');
   ParamByName('vID').AsString := edtEnfermedad.Text +'%';
   Open;
    case RecordCount of
    0:
     begin
      messagebox('no existe');
     end; //case 0
    1:
     begin
      edtEnfermedad.Text:=FieldByName('ID').AsString;
      edtDescripcion.Text := FieldByName('Descripcion').AsString;
     end; //case 1
    else
     begin
       DM.qryBuscar.SQL:=SQL;
       DM.qryBuscar.Open;
      //Generar la ventana de búsqueda si existen elementos
      //if not(Assigned(frmBuscar)) then begin
       frmBuscar:=TfrmBuscar.create(Application);
       OpcionBusqueda:=3;
       frmBuscar.ShowModal;
      //end;
      if Seleccionado then begin
       edtEnfermedad.Text:=FieldByName('ID').AsString;
       edtDescripcion.Text := FieldByName('Descripcion').AsString;
      end else begin
       Close;
      end; //if
     end; //case else
    end; //case
   end; //with

Aquí estoy tomando un formulario que se llama "frmBuscar", el cuál contiene un DBGrid asociado a un TQuery que se llama "qryBuscar". Al seleccionar un registro en este formulario, hago lo siguiente, dependiendo de la opción de búsqueda:

Código Delphi [-]
 case OpcionBusqueda of 
  3: begin
      with TuConsulta do begin
        if active then close;
        SQL.Clear;
        SQL.Add('Select ID, Descripcion');
        SQL.Add('From TuTabla');
        SQL.Add('where ID = :vID');
        SQL.Add('Order By ID');
        ParamByName('vID').AsString := DM.qryBuscar.Fields[0].AsString;
       Open;
      end; //with
    end; //case 3
  Seleccionado := True;
__________________

Responder Con Cita
  #3  
Antiguo 20-06-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Gracias contraveneno, voya realizar eso esta semana, cualqueir duda, más que anda en la comunciación entre los dos formularios, probablemente, me doy una vuelta por aquí.


mil gracias.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
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
Novato (duda con busqueda) enecumene Conexión con bases de datos 2 06-06-2006 19:02:17
Delphi 7.0 y MySql, Enviar informacion de ventana a ventana gozi Conexión con bases de datos 2 03-04-2006 05:28:41
como mostrar una ventana con base al resultado de una busqueda Nelly Varios 3 02-02-2006 18:16:20
Duda sobre busqueda de registros... hademon Varios 2 16-09-2005 19:26:17
Grandes frases de grandes personas Nuria Humor 7 18-04-2004 05:40:17


La franja horaria es GMT +2. Ahora son las 16:58:35.


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