![]() |
| |||
| Hola, Me gustaría saber, cómo tengo que hacer para que cuando filtre en un formulario y no se encuentre el dato, no desaparezcan todos los datos y quede la pantalla vacía, sin etiquetas ni cuadros de texto, es decir que pueda volver a filtrar sin tener que quitar el autofiltro para que aparezcan los datos de nuevo. Espero haberme explicado. Gracias, Linsi |
| | ||||
| ||||
| |
| |||
| On 22 Set, 16:15, mllui...***gmail.com wrote: > Hola, > Me gustaría saber, cómo tengo que hacer para que cuando filtre en un > formulario y no se encuentre el dato, no desaparezcan todos los datos > y quede la pantalla vacía, sin etiquetas ni cuadros de texto, es decir > que pueda volver a filtrar sin tener que quitar el autofiltro para que > aparezcan los datos de nuevo. Espero haberme explicado. > Gracias, > Linsi Hay que trabajar en dos eventos. En el Form_Current se cuentan los registros, pero solo si ha sido puesto un filtro, entonces hay que añadir una variable para saber si hay o no hay filtros. Si no hay registros se quita el filtro, y si quieres puedes también avisar al usuario. Aquí hay un ejemplo: Option Compare Database Option Explicit Dim hayfiltro As Boolean Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer) hayfiltro = True End Sub Private Sub Form_Current() If hayfiltro And Me.RecordsetClone.RecordCount = 0 Then MsgBox "Non hay registros para ese filtro." Me.Filter = "" Me.FilterOn = False hayfiltro = False End If End Sub No conozco bien al español, todavía estoy estudiandolo. Si encuentran errores de qualquier tipo en mis mensajes le agradezco por enviarme las correcciónes por email. Hola. -Marco- |
| |||
| On 22 Set, 16:15, mllui...***gmail.com wrote: > Hola, > Me gustaría saber, cómo tengo que hacer para que cuando filtre en un > formulario y no se encuentre el dato, no desaparezcan todos los datos > y quede la pantalla vacía, sin etiquetas ni cuadros de texto, es decir > que pueda volver a filtrar sin tener que quitar el autofiltro para que > aparezcan los datos de nuevo. Espero haberme explicado. > Gracias, > Linsi Hay que trabajar en dos eventos. En el Form_Current se cuentan los registros, pero solo si ha sido puesto un filtro, entonces hay que añadir una variable para saber si hay o no hay filtros. Si no hay registros se quita el filtro, y si quieres puedes también avisar al usuario. Aquí hay un ejemplo: Option Compare Database Option Explicit Dim hayfiltro As Boolean Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer) hayfiltro = True End Sub Private Sub Form_Current() If hayfiltro And Me.RecordsetClone.RecordCount = 0 Then MsgBox "Non hay registros para ese filtro." Me.Filter = "" Me.FilterOn = False hayfiltro = False End If End Sub No conozco bien al español, todavía estoy estudiandolo. Si encuentran errores de qualquier tipo en mis mensajes le agradezco por enviarme las correcciónes por email. Hola. -Marco- |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Formularios | Pablo Fabian Savino | Newsgroup microsoft.public.es.vsnet | 2 | 20-03-2007 14:56:02 |
| C++/CLI Pasar referencias de formularios entre formularios. | Tomas | Newsgroup microsoft.public.es.vc | 2 | 10-03-2007 14:00:23 |
| Formularios | AiTdX100M | Newsgroup microsoft.public.es.dotnet.framework | 4 | 21-07-2006 21:03:01 |
| Formularios MM | Armando | Newsgroup microsoft.public.es.webmasters | 8 | 22-09-2005 14:52:23 |
| Formularios con XML | Pablo Nuñez | Newsgroup microsoft.public.es.xml | 6 | 28-07-2003 16:22:40 |