Tengo un formulario con un filtro que se aplica con un botón mediante la siguiente macro:
Código: Seleccionar todo
Sub BotonFiltroNombre(Evento As Object)
Dim oTxt As String
Dim oFilter AS Object
Dim Form As Object
Dim oCtrl As Object
Dim Filter As Object
oCtrl=Evento.Source
Form=oCtrl.Model.Parent
oFilter = Form.getByName("ctNombre")
oTxt = oFilter.Text
'oCtrl.SetFocus
Form.ApplyFilter = False
If oTxt <> "" then
Form.Filter="UCASE(NOMBRE) LIKE " + "UCASE('%"& oTxt &"%')"
'Form.Order="NOMBE ASC"
Form.ApplyFilter = True
Else
Form.ApplyFilter = False
End if
Form.Reload
'oCtrl.SetFocus()
Form.ApplyFilter = False
Evento.Source.Model.Parent.ctNombre().Text=""
End Sub
Saludos y gracias.
Gracias por la pronta respuesta. El problema se ha resuelto con el código siguiente:
Código: Seleccionar todo
Sub InformeBusquedas (Evento)
Dim oConsulta As Object
Dim Form as Object
Dim oTxt1 As String
Dim oCtrl As Object
Dim oFilter AS Object
oCtrl=Evento.Source
Form=oCtrl.Model.Parent
oFilter = Form.getByName("ctNombre")
oTxt1 = oFilter.Text
oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("ConInformeFiltrado")
'Modificamos la consulta de modo que tome el registro actual
If oTxt1 <> "" then
oConsulta.Command = "SELECT * FROM ""datosninos"" WHERE ""NOMBRE"" LIKE UCASE('%" & oTxt1 & "%')"
'El informe a mostrar
ThisDatabaseDocument.ReportDocuments.GetByName("infGeneral").Open
Evento.Source.Model.Parent.ctNombre().Text=""
End If
End Sub
Saludos y gracias de nuevo.