Access - Filtrar por varios campos a través de una elección sobre cuadro combinado

 
Vista:

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por Domingo (7 intervenciones) el 17/11/2012 12:46:42
Hola compañeros,

En un formulario tengo 4 campos que se cumplimentan por elección en lista desplegable (cuadros combinados con los mismos valores, pues un registro puede tener hasta cuatro de esos valores). Necesito efectuar un filtrado que devuelva todos los registros que, en cualquiera de esos cuadros combinados (=campos) aparezca el valor que elijamos de una lista.

He creado el siguiente código, pero alguna tontería se me escapa porque me da "error en tiempo de ejecución: No coinciden los tipos de datos en la expresión de criterios". ¿Podrían echarme un cabo?

Private Sub selTipoOVP_Click()
Form.RecordSource = "Select * from 1_General where (Tipo_de_Espacio_abierto1 or Tipo_de_Espacio_abierto2 or Tipo_de_Espacio_abierto3 or Tipo_de_Espacio_abierto4)='" & Form!selTipoOVP.Value & "'"
Me.Refresh
End Sub

--
Donde "selTipoOVP" es el cuadro combinado cuyos valores proceden de la tabla "Tipo de espacio abierto" y son los que usamos para filtrar, y

"Tipo_de_Espacio_abierto1" (hasta el 4) son los campos en los que se van acumulando los valores y sobre los que deseamos hacer la búsqueda. Sus valores también proceden de la tabla "Tipo de espacio abierto", que sólo tiene dos columnas: Id (autonumérico) y Tipo (texto).

Espero haberme explicado. De antemano,
Gracias por vuestra ayuda.

Saludos,
Domingo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por 2pl (461 intervenciones) el 17/11/2012 16:22:23
Form.RecordSource = "Select * from 1_General where (Tipo_de_Espacio_abierto1 or Tipo_de_Espacio_abierto2 or Tipo_de_Espacio_abierto3 or Tipo_de_Espacio_abierto4)='" & Form!selTipoOVP.Value & "'"
Desùes de cada Tipo_de_espacio_abiertoX tienes que poner a que es igual
Esto es incorrecto
Tipo_de_Espacio_abierto1 or Tipo_de_Espacio_abierto2 or Tipo_de_Espacio_abierto3 or Tipo_de_Espacio_abierto4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por Domingo (7 intervenciones) el 19/11/2012 19:42:07
Gracias por tu respuesta, pero no acabo de entenderlo. Te refieres a algo así: tipo_de_espacio_abierto1=` or tipo_de_espacio_abierto2=`...??

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por 2PL (3 intervenciones) el 19/11/2012 20:40:04
Form.RecordSource = "Select * from 1_General where (Tipo_de_Espacio_abierto1='" & Form!selTipoOVP.Value & "' or Tipo_de_Espacio_abierto2='" & Form!selTipoOVP.Value & "' or Tipo_de_Espacio_abierto3='" & Form!selTipoOVP.Value & "' or Tipo_de_Espacio_abierto4)='" & Form!selTipoOVP.Value & "'"

No he comprobado el tema de las comillas, pero espero entiendas como se utiliza el operardor OR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por Domingo (7 intervenciones) el 20/11/2012 11:34:16
Gracias 2PL, pero me sigue dando el error de que "No coinciden los tipos de datos en la expresión de criterios", aún habiendo probado comillas simples o dobles. En este caso los valores del cuadro combinado también proceden de la tabla "Tipo de espacio abierto", que sólo tiene dos columnas: Id (autonumérico) y Tipo (texto).

¿Alguna idea?...

Gracias y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar por varios campos a través de una elección sobre cuadro combinado

Publicado por 2PL (461 intervenciones) el 20/11/2012 15:20:26
Domingo, esto de las comillas es un "coñazo" al menos para mi. Te sugiero te hagas una consulta con esos criterior y una vez hecha la ves como SQL. En criterio de la consulta utiliza cuatro lineas, una por cada Tipo_de_Espacio_abierto.
PD:
¿Que tipo de datos son Tipo_de_Espacio_abierto y el campo del formulario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar