Foros del Web » Programando para Internet » ASP Clásico »

Por qué no funciona esta sentencia en ACCESS

Estas en el tema de Por qué no funciona esta sentencia en ACCESS en el foro de ASP Clásico en Foros del Web. Saludos: Necesito mediante una sentencia en ACCES pedir un listado de todos los usuarios cuyo nombreusuario no sea admin y donde el campo mapadatos este ...
  #1 (permalink)  
Antiguo 17/09/2007, 05:20
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
Por qué no funciona esta sentencia en ACCESS

Saludos:
Necesito mediante una sentencia en ACCES pedir un listado de todos los usuarios cuyo nombreusuario no sea admin y donde el campo mapadatos este vacio, y claro he escrito la siguiente sentencia:

select * from usuarios where nombreusuario <> 'admin' and mapadatos =''

las comillas son simples.

y me devuelve el unico campo donde mapadatos está lleno.
He probado ha hacer lo siguiente:


select * from usuarios where nombreusuario <> 'admin' and mapadatos <> ''

y entonces no me devuelve ningun valor.
Alguien por favor, puede decirme donde está el error porque en algo tan simple no lo veo.
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 17/09/2007, 05:51
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 23 años, 2 meses
Puntos: 8
Re: Por qué no funciona esta sentencia en ACCESS

MsAcces tiene la costumbre de diferenciar entre un campo vacío y un campo nulo. Para conseguir lo que quieres debería funcionar esta sentencia:

Código:
select * from usuarios where nombreusuario <> 'admin' and (mapadatos ='' OR mapadatos IS NULL)
De manera que me seleccione los que tienen el campo vacío y los que lo tienen nulo...
__________________
Kelpie
  #3 (permalink)  
Antiguo 17/09/2007, 07:16
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Por qué no funciona esta sentencia en ACCESS

Eso es muy cierto, pero en si es una regla para cualquier base de datos, un detalle adicional a la respuesta que te dieron, al usar el sibmolo de diferente (<>) estas dejando de usar e índice y al poner select * estas recargando la memoria, el tema del índice al ser una comparación de ese tipo es muy complicado evitar pero la recarga de la memoria con el select * si se puede evitar enumerando las columnas que únicamente necesitas.

Saludos.
  #4 (permalink)  
Antiguo 17/09/2007, 09:30
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Por qué no funciona esta sentencia en ACCESS

Gracias a los dos, ya funciona.
Es que me estaba volviendo loco porque habia probado con null y con '', pero, tonto de mi, no se me habia ocurrido con los dos al mismo tiempo.
__________________

Espero haber aprendido algo de tí.
A mi padre.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.