Averiguar qué tipo de campo es
Estoy intentando averiguar el tipo de campo activo, es decir, si es un checkbox, o un combobox, pero no me funciona, ya que me devuelve valor "Nothing". Este es el código que uso:
Public Function FiltrarPorSeleccion(FName As Form, miSel As String, FiltroForm As String) On Error Resume Next Dim miFiltro As String Dim Ctrl As Control Dim Field As String If TypeOf Ctrl Is ComboBox Then Field = Screen.PreviousControl.Name & "1" miFiltro = Field & " LIKE '*" & miSel & "*'" ElseIf TypeOf Ctrl Is CheckBox Then FName.Filter = Screen.PreviousControl.Object & " = " & Screen.PreviousControl FName.FilterOn = True Else 'Comprobamos que se haya escrito algo en el cuadro de texto If Nz(miSel, "") = "" Then 'Call FiltrarPorNumero(Me) MsgBox "No has seleccionado nada para buscar", vbInformation, "ERROR" Exit Function End If 'Cojemos el valor seleccionado y el campo y creamos el filtro por aproximación miFiltro = Screen.PreviousControl.Name & " LIKE '*" & miSel & "*'" 'Aplicamos el filtro al formulario If FiltroForm = "" Then FiltroForm = miFiltro FName.Filter = miFiltro FName.FilterOn = True Else FName.Filter = "(" & FiltroForm & ") And (" & miFiltro & ")" FName.FilterOn = True End If End If End Function
¿En qué me estoy equivocando?
1 respuesta
Respuesta de Sveinbjorn El Rojo
2