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
