Buenas otra vez!
Si se trata de poner un solo inputBox, no hay problema, se pone uno solo, pero tener en cuenta que el origen del formulario será mejor que sea un SQL si se quiere aplicar esta solución, aunque también valdría una consulta, con una pequeña variación.
También decir que hice la chapuza de repetir el cuadro de diálogo para dejar las cosas como estaban, pero lo suyo, como hizo RMG, es el poner otro botón para rectificar, o bien poner una macro que rectifique al cargar el formulario, de tal manera que cuando lo vuelves a abrir ya se ha ido el filtro.
Pero bueno, eso son cosas a gusto del consumidor...
Dejo aquí una pequeña variante del código que ya propuse, con un solo inputbox, aunque la última opción de Ramón me parece más ordenada que la mía (como todo lo que suele hacer), aunque cuando se maneja un número considerable de registros no me gusta usar herramientas directas de formulario, sino más bien el SQL que es enórmemente más rápido y eficaz.
Código: Seleccionar todo
Sub BotonFiltroFecha(Event As Object)
form= Event.Source.Model.Parent
Dato= InputBox("Por favor, Introduzca el mes y el año en el formato MM/YYYY")
If Dato<>"" and len(Dato)=7 and left(Right(Dato,5),1)="/"Then
Mes= left(Dato,2)
ano= right(Dato,4)
Form.CommandType = 2 ' El origen de los datos es una orden SQL
Form.Command="SELECT * From ""TRANSPORTISTAS2"" ""TRANSPORTISTAS2"" WHERE Month(""Alta"")='"& Mes &"' And Year(""Alta"")='"& Ano &"' ORDER BY MONTH( ""Alta"" ) ASC"
Form.Reload
Else
Form.Command= "SELECT * From ""TRANSPORTISTAS2"" ""TRANSPORTISTAS2"""
Form.Reload
End if
End sub
Otro saludo!