Access - comparar un numero con el contenido de un cuadro d

 
Vista:

comparar un numero con el contenido de un cuadro d

Publicado por manuel (3 intervenciones) el 03/10/2007 11:41:41
Tengo una sentencia sql en la que comparo un valor que escribo en un cuadro de texto con los valores de los campos en una tabla. Con la igualdad no tengo problemas, pero si quiero comparar con mayor o igual no me funciona, supongo que porque trata lo que coge del cuadro de texto con un texto y no lo puede comparar con un valor numerico, me gustaria como podria hacer esa comparacion. Seria algo asi:

[Forms]![FCLIENTES]![Subformulario].FORM!PRECIOINICIAL<=[PERFILESREALES].[PRECIOINICIAL]

con el igual si funciona pero con el menoo o igual no. Como podria hacerlo?

gracias
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

RE:comparar un numero con el contenido de un cuadr

Publicado por xavi (92 intervenciones) el 03/10/2007 15:00:01
Hola,

Seria mucho más facil de entender si pusieras la SQL y nos dijeras que contienen los campos/controles implicados.

Un saludo
Xavi
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

RE:comparar un numero con el contenido de un cuadr

Publicado por manuel (3 intervenciones) el 03/10/2007 16:38:34
La sentencia sql seria algo asi:

SELECT *
FROM PERFILESREALES
WHERE ((([FORMS]![FCLIENTES]![Subformulario Perfiles buscados de los clientes].Formulario!CHBZONA.value=True And [Forms]![FCLIENTES]![Subformulario Perfiles buscados de los clientes].FORM!ZONA=[PERFILESREALES].[ZONA]) Or ([FORMS]![FCLIENTES]![Subformulario Perfiles buscados de los clientes].Formulario!CHBZONA.value=False))

utilizo unos cuadros de verificacion para ver si leo el contenido del cuadro o no. Y la ideas es la siguiente:

Tengo una tabla en la que guardo una serie de datos de una vivienda como el nº de dormitorios, de baños, precio,..... Y lo que quiero es por ejemplo que me devuelva las viviendas que tengas mas de dos baños.

Si le digo que me devuelva las que tienen exactamente dos baños funciona perfectamente pero no se como hacer que me devuelva los que tienen dos o mas.

Espero que me hayas entendido mejor ahora, la verdad es que me hace bastante falta resolver esto.

Gracias
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

RE:comparar un numero con el contenido de un cuadr

Publicado por xavi (92 intervenciones) el 04/10/2007 10:22:03
A primera vista creo que la construcción de la clausula WHERE es incorrecta. No debes evaluar los campos del formulario: debes 'cuadrar' los campos de la tabla con los del formulario.

En la WHERE de la SQL que has puesto yo entiendo que quieres evaluar el campo CHBZONA del formulario para veu si está marcado.

Si lo está, mostrar los PERFILESREALES dónde el campo ZONA de la tabla que coincidan con el campo ZONA del formulario.
Si no está marcado, mostrar todos los registros.

Yo acostumbro a construir las SQL en VBA directamente, y lo haria asi:
Tendria unos controles en el encabezado del formulario con los posibles filtros a aplicar y los evaluaria en el evento click de un botón llamado Aplicar:

Dim miSelect As String
Dim miFrom As String
Dim miWhere As String
Dim miSQL As String
miSelect = "SELECT * "
miFrom = "FROM PERFILESREALES
miWhere = "WHERE 1=1 "
If Me![Subformulario Perfiles buscados de los clientes].Form!CHBZONA.Value=True Then
miWhere = miWhere = " AND [PERFILESREALES].[ZONA]=" & Me![Subformulario Perfiles buscados de los clientes].FORM!ZONA & " " ' suponiendo que ZONA es un numerico
End If
miSQL = miSelect & miFrom & miWhere & ";"

Me!elsubformdondequierolosresultados.RecordSource = miSQL

Más o menos asi (escrito del tiron)
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

RE:comparar un numero con el contenido de un cuadr

Publicado por manuel (3 intervenciones) el 04/10/2007 17:27:41
Muchas gracias Xavi, la verdad es que quizas sea mas facil asi, pero de VBA ando bastante cortito y la sql es bastante mas larga que esa, aunque la idea es la que comentas tu.

No es posible hacerlo directamente en sql entonces?
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