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 21-09-2011
Avatar de cubanbaker
cubanbaker cubanbaker is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: La Habana, Cuba
Posts: 65
Poder: 0
cubanbaker cantidad desconocida en este momento
Buscar siguiente registro con F3 en un DBGrid usando Locate

Necesito que me echen otra mano...
En una base de datos de Access busco con Locate (con la option loPartialKey) en un campo Apellidos un registro que empiece con determinado apellido que es escrito en el edit1.text.
El locate me encuentra el primer registro que empieza con, por ejemplo, el apellido Mar, y el puntero en el DBGrid se moverá al primer Mar.
Necesito seguir buscando tantos Mar (Martinez, Martin, Maren, Marzan etc) como hayan en la base de datos, y que el puntero se mueva al siguiente o al anterior, pudiera ser programando la tecla F3 o un boton como se hace en Windows y seguir recorriendo la base de datos por cada registro que contenga la cadena del edit1.text.
Sería genial poder hacerlo con F3
Es un lío, pero espero que lo entiendan.
Gracias
Responder Con Cita
  #2  
Antiguo 21-09-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Busca información sobre OnKeyPress, OnKeyUp y OnKeyDown.
Este es un ejemplo de como poder hacerlo
Código Delphi [-]
procedure TForm.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (Key = ) then
   begin
      // Deshabilito los controles visuales para que no "parpadee"
      DataSet.DisableControls;
      try
         // Salto al siguiente registro para ver si es lo que busco
         DataSet.Next;
         // Si no cumple la condición vuelvo atras
         if (not (CampoBuscado empieza_por EditBusqueda.Text)) then
            DataSet.Prior;
      finally
         DataSet.EnableControls;
      end;
   end;
end;
Responder Con Cita
  #3  
Antiguo 21-09-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Y.... ¿no quedaría más elegante hacer un select y que solamente quedaran los registros que cumplan la condición?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 21-09-2011
Avatar de DarKraZY
DarKraZY DarKraZY is offline
Miembro
 
Registrado: ago 2003
Posts: 460
Poder: 21
DarKraZY Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Y.... ¿no quedaría más elegante hacer un select y que solamente quedaran los registros que cumplan la condición?

Saludos
Hasta podría utilizar: Filtered, Filter... para no volver a lanzar consultas.

Saludos!
Responder Con Cita
  #5  
Antiguo 21-09-2011
Avatar de cubanbaker
cubanbaker cubanbaker is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: La Habana, Cuba
Posts: 65
Poder: 0
cubanbaker cantidad desconocida en este momento
Ok, muchas gracias.
No es como yo hubiera querido, pero si no hay de otra, lo haré como ustedes me dicen...

Gracias
Responder Con Cita
  #6  
Antiguo 21-09-2011
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
No entiendo en qué estáss atorado, ¿en la funcionalidad en sí de recorrer los registros encontrados o en acceder a dicha funcionalidad mediante la tecla F3?

// 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
Buscar siguiente SQL paladincubano SQL 4 12-03-2008 20:06:34
Ubicar el siguiente registro de un LOCATE ?? amadis Conexión con bases de datos 2 13-10-2007 15:58:48
Problemas con Locate Usando DBEdit servicomp Conexión con bases de datos 2 08-04-2006 20:36:20
Locate no buscar parcialmente, por que? URBANO Conexión con bases de datos 13 14-10-2005 20:14:22
Buscar siguiente en Lista con SQL rogeriobeltran Firebird e Interbase 6 23-07-2004 17:02:41


La franja horaria es GMT +2. Ahora son las 20:17:29.


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