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 13-10-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Ubicar el siguiente registro de un LOCATE ??

Que tal Gente.

¿Existe una forma de ubicar el registro siguiente al encontrado por el método LOCATE?.

Locate se posiciona en el primero de los que cumplan con la condición, ¿no existe un locatenext?. Se puede hacer algo para colocar en otro botón que diga siguiente y que avance un registro mientras siga cumpliendo la condición del locate.

Esto es sobre tabla paradox por BDE que tienen aplicado un filtro bastante complejo. Por eso busco una forma de hacer un locate que me permita buscar el siguiente.

Gracias
Responder Con Cita
  #2  
Antiguo 13-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Amadis, puedes utiliza este ejemplo que se encuentra en el libro La Cara Oculta de Delphi 4 de Ian Marteens:

Creamos una funcion:

Código Delphi [-]
//Buscar, para establecer el filtro y buscar el primer registro:
function TDlgBusqueda.Buscar(ATable: TTable): Boolean;
var
NumCampo: Integer;
begin
AsignarTabla(ATable);
if ShowModal = mrOk then
begin
NumCampo := Integer(cbColumnas.Items.Objects[
cbColumnas.ItemIndex]);
FTabla.Filter := Format('[%s] = %s',
[FTabla.Fields[NumCampo].FieldName,
QuotedStr(edValor.Text]);
Result := FTabla.FindFirst;
if not Result then
Application.MessageBox('Valor no encontrado', 'Error',
MB_ICONERROR + MB_OK);
end
else
Result := False;
end;

La implementación del comando Buscar siguiente
sería algo así:

Código Delphi [-]
function TDlgBusqueda.BuscarSiguiente: Boolean;
begin
Result := FTabla.FindNext;
if not Result then
Application.MessageBox('Valor no encontrado', 'Error',
MB_ICONERROR + MB_OK);
end;

espero que te ayude.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 13-10-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Parece interesante la función!

Aún no la he probado porque tengo otros filtros aplicados que no quiero descartar.

Por eso intentaba con Locate.

Me parece que te falta poner la implementacion de la función AsignarTabla()
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
Key violation. Continuar con siguiente registro CHiCoLiTa Conexión con bases de datos 11 14-02-2007 21:48:37
siguiente registro (mysql) Cosgaya PHP 2 11-07-2006 00:59:40
Guardar valores de registro para siguiente ejecución oscarsanta Varios 3 24-01-2006 18:20:42
Ubicar REgistro insertado dentro de un BD sierraja Conexión con bases de datos 1 20-04-2005 19:11:04
Ubicar registro con Interbase BlueSteel Firebird e Interbase 3 14-09-2004 01:05:44


La franja horaria es GMT +2. Ahora son las 00:46:24.


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