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 28-07-2004
karocs karocs is offline
Miembro
 
Registrado: jul 2004
Posts: 143
Poder: 20
karocs Va por buen camino
llamar al evento OnFilterRecord

Hola

Que parametros se necesitan para llamar al evento OnFilterRecord, es que en el parametro DataSet no se que colocar,
Responder Con Cita
  #2  
Antiguo 28-07-2004
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
Al igual que con cualquier evento, no eres tú quien debe llamarlo. El evento se generará cada vez que el DataSet esté por mostrar un registro y en el código del evento decides si mostrarlo o no.

// Saudos
Responder Con Cita
  #3  
Antiguo 28-07-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Por otra parte, el parámetro DataSet no es sinó el conjunto de datos que estás filtrando en este momento. Es decir, si tu tienes un Query de facturas que filtras mediante este evento, cuando se dispare automáticamente el parámetro DataSet será tu Query de facturas.

Saludos!
Responder Con Cita
  #4  
Antiguo 28-07-2004
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
karocs:

La costumbre en los foros es tratar los temas en los mismos foros con el fin de que todos puedan beneficiarse así que traslado aquí tu mensaje privado.


Cita:
Empezado por karocs en mensaje privado
Hola roman gracias por contestar... si no puedo controlar el evento OnFilterRecord , puedo de alguna forma en el mismo evento filtar por mas de un parametro o buscar un registro en especifico, te lo agradeceria inmensamente y con extrema urgencia
Me da la impresión de que lo que necesitas sí es el evento OnFilterRecord sólo que te falta entender un poco su funcionamiento.

El evento está diseñado precisamente para manejar filtrados más complejos que una simple comparación con un valor.

Cuando el DataSet requiere mostrar un registro en un control "data aware" (por ejemplo porque te estás desplazando en un DBGrid) mira primero si está asignado el evento OnFilterRecord. De ser así, él- el DataSet - es quien hace la llamada al evento pasando la variable Accept como parámetro. En ese momento entonces es cuando se ejecuta el código que tu hayas escrito. Al finalizar la llamada el DataSet examina el valor del parámetro Accept. Si Accept es true entonces muestra el registro y en caso contrario se lo salta.

En el código del evento debes entonces determinar- por los medios que sea -si se muestra o no el registro y asignar a Accept el valor true o false según sea el caso.

Por poner un ejemplo, suponte que tienes una tabla de clientes con dos campos, "deuda" y "fecha_deuda" y quieres mostrar únicamente los registros con "fecha_deuda" de más de 30 días y deuda mayor que 500. En el evento OnFilterRecord pondrías:

Código Delphi [-]
Accept :=
  (DaysBetween(DataSet['fecha_deuda'], Now) > 30) and
  (DataSet['deuda'] > 500);

De esta forma estás filtrando por más de un parámetro.

Ahora bien, en tu pregunta mencionas

"puedo de alguna forma en el mismo evento filtar por mas de un parametro o buscar un registro en especifico"

Nota que filtrar y buscar son dos cosas distintas. Si lo que deseas es buscar un registro entonces puedes usar métodos como Locate.

// Saludos
Responder Con Cita
  #5  
Antiguo 29-07-2004
karocs karocs is offline
Miembro
 
Registrado: jul 2004
Posts: 143
Poder: 20
karocs Va por buen camino
Gracias a roman

roman muchiiiiiiisimas gracias, me acabas de salvar la vida ,
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


La franja horaria es GMT +2. Ahora son las 10:44:34.


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