Error 13 en tiempo de ejecución - no coinciden los tipos. ¿Cuál es el problema?

Tengo este código que me tira ese error (el 13...) y no sé que estoy haciendo mal.

Private Sub Comando72_Click()
Dim FiltroCarrera As String
FiltroCarrera = "Carrera = '" & Me.Cuadro_combinado61 & "'"
If Me.Cuadro_combinado61 = "" Then
FiltroCarrera = "Carrera <> '""'"
End If
'Modalidad
Dim FiltroModalidad As String
FiltroModalidad = "Modalidad = '" & Me.Cuadro_combinado68 & "'"
If Me.Cuadro_combinado68 = "" Then
FiltroModalidad = "Modalidad <> '""'"
End If
'Turno
Dim FiltroTurno As String
FiltroTurno = "Turno = '" & Me.Cuadro_combinado70 & "'"
If Me.Cuadro_combinado70 = "" Then
FiltroTurno = "Turno <> '""'"
End If
'Año
Dim FiltroAño As String
FiltroAño = "Año = '" & Me.Cuadro_combinado87 & "'"
If Me.Cuadro_combinado87 = "" Then
FiltroAño = "Año <> '""'"
End If
'AC
Dim FiltroAC As String
FiltroAC = "AC = " & Me.Cuadro_combinado119 & ""
If Me.Cuadro_combinado119 = "" Then
FiltroAC = "AC <> '""'"
End If
'Activo
Dim FiltroActivo As String
FiltroActivo = "Activo = " & Me.Verificación107 & ""
Dim FiltroTotal As String
FiltroTotal = FiltroCarrera And FiltroModalidad And FiltroTurno And FiltroAño And FiltroAC And FiltroAtivo
Me.Filter = FiltroTotal
Me.FilterOn = True
End Sub

2 respuestas

Respuesta
3

Sebastián: Alguno de los Valores de un Control no se corresponde con los Datos del Campo de la Tabla. Saber cual es lo has de hacer tu teniendo en cuenta que es quien conoce los datos. Me inclino a pensar que pueda ser >> FiltroAño = "Año = '" & Me.Cuadro_combinado87 & "'" que si es número debe ser >>FiltroAño = "Año = " & Me.Cuadro_combinado87

La regla para hacerlo es:

Datos Numéricos, tal como te acabo de citar

Datos de Texto >> FiltroCarrera = "Carrera = '" & Me.Cuadro_combinado61 & "'"

Como no observo datos de Fecha te cito uno por si acaso:

FiltroUnaFecha = "FechaAsigna =#" & Format(Me.TxtFechaAsigna, "mm/dd/yyyy") & "#"

Mis saludos >> Jacinto

Si así es como lo tengo, cada condición funciona por su cuenta pero el problema de surge en el FiltroTotal. Ahí es donde me tira el error, no sé si debo escribir algo en especial; comillas, apostrofe, coma, &, o algún otra cosa.

La verdad Sebastián es que no reparé en eso pero si que esa línea no es la ade cuada.

La concatenación de los Filtros la has de hacer con & " AND " O sea

FiltroTotal = FiltroCarrera & " And " &  FiltroModalidad & " And " & .......

Un saludo >> Jacinto

Al terminar la expresión debo terminarla como:

1) and " & FiltroAC & "     ;o

2) and " & FiltroAC

Desde ya muchas gracias...

Sebastián: La terminación sería, admitiendo que en los nombres u otros no haya fallos sería:

FiltroTotal = ... & " And " & FiltroAtivo

Mis saludos >> Jacinto

Respuesta
2

Supongamos que el formulario se llama Clientes y su origen de registros es la tabla del mismo nombre. En el evento del botón puedes poner

form.recordsource="select * from clientes where carrera='" & me.cuadro_combinado61 & "' and modalidad='" & me.cuadro_combinado68 & "' and.... 

Y así, no escribes tanto, ni tienes que definir nada, y si tienes problemas con las variable, con poner, por ejemplo

carrera=forms!clientes!cuadro_combinado61 and modalidad=forms!clientes!cuadro_combinado68...

Aunque por problemas de espacio en la página aparezcan separados van todo seguido

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas