Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2007
jhlsys jhlsys is offline
Miembro
 
Registrado: ago 2004
Posts: 25
Poder: 0
jhlsys Va por buen camino
Sugerencia

Código Delphi [-] //busqueda aproximada
Table1.FindNearest([Edit1.Text]);

//busqueda exacta
Table1.FindKey([Edit1.Text]);
Para este tipo de busqueda se necesita un indice activo, y obviamente la busqueda sera precisa y te ubicara al primer registro coincidente.

Si pretendes buscarlos con el metodo locate, al ser un metodo de busqueda secuencial, sera mas lento, salvo que busques varios regiustro coincidentes, se acelera un poco si lo trabajas con un indice activo, pero si desabilitas los controles de la data, y lo activas despues de haber llegado al registro buscado,

Table1.disablecontrols;
Table1.locate(parametros de busques);
table1.enablecontrols

Pero como sugirienron, si son varios y coinicentes, seria mejor que emplees un filtro.
Responder Con Cita
  #2  
Antiguo 08-10-2007
Ubed Ubed is offline
Miembro
 
Registrado: ago 2007
Posts: 71
Poder: 19
Ubed Va por buen camino
muchas gracias a todos, al final use el locate, pero ahora se me plantea otra pregunta.

Puedo utilizar un unico valor para buscar en varios campos??

kiero decir yo tengo mis registros y kier ver el k tiene el telefono 978834266 pero puede estar en 4 campos, telefono1, telefono2, telefono3, fax

Puede emplear el locate para buscar en los 4 ese valor??
Responder Con Cita
  #3  
Antiguo 08-10-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 22
basti Va por buen camino
Puedes usar varios locate, aunque para ese caso creo que sería mejor un filtro o una consulta sql. De todas maneras si quieres usar locate:
Código Delphi [-]
  if not Table.Locate('telefono1', numTelefono, []) then
    if not Table.Locate('telefono2', numTelefono, []) then
      if not Table.Locate('telefono3', numTelefono, []) then
          Table.Locate('telefono4', numTelefono, []);
__________________
Saludos.
Responder Con Cita
  #4  
Antiguo 10-10-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Poder: 20
GustavoCruz Va por buen camino
Smile

hola Ubed, también puedes usar esta forma:
Código Delphi [-]
if tutabla.Locate('campo1;campo2', VarArrayOf([edit1.text, edit2.text]), []) then
// lo que quieras hacer...
Puedes colocar todos los campos que quieras
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problema findkey y gotonearest Ariel03 OOP 2 24-06-2007 15:44:15
Findkey e IBTable Puche Firebird e Interbase 1 10-07-2006 15:47:12
Trabajar con locate y FindKey jmedina Conexión con bases de datos 1 05-10-2004 07:57:49
Findkey trex2000 Tablas planas 15 01-04-2004 21:35:35
Findkey en ADO !!! vpepen Conexión con bases de datos 3 05-12-2003 11:14:18


La franja horaria es GMT +2. Ahora son las 08:36:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi