** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Consulta de selección
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoConsulta de selección

 Responder Responder
Autor
Mensaje
valencianoblaugrana Ver desplegable
Colaborador
Colaborador


Unido: 20/Junio/2014
Localización: Alicante
Estado: Sin conexión
Puntos: 503
Enlace directo a este mensaje Tema: Consulta de selección
    Enviado: 18/Junio/2024 a las 13:38
Buenos días
Me gustaría saber como puedo hacer una consulta de selección en la que existen dos campos (campo1 y campo2) de contenidos numéricos y en el caso de que las cantidades de campo1 y campo2 sean iguales, no aparezcan en los resultados, es decir si [campo1]-[campo2]=0, esos registros, no aparezcan en la consulta

Muchas gracias de antemano

Un saludo
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 14:17
Hola!

Haz la consulta y en criterios de la resta [campo1]-[campo2] pones > 0, así saldrán los mayores de de cero.
Un Saludo.
Arriba
valencianoblaugrana Ver desplegable
Colaborador
Colaborador


Unido: 20/Junio/2014
Localización: Alicante
Estado: Sin conexión
Puntos: 503
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 14:31
Si hago eso me dice "su consulta no incluye la expresión especificada campo1-campo2>0 como parte de una función de agregado"
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14926
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 15:28
Hola,

¿Puedes poner la SQL que estas utilizando actualmente y que muestra todos los valores?

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5704
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 15:32
Mounir quiso decir que primero crees un campo nuevo que sea: campo1-campo2 y en criterio pones lo que dice.

Saludos.
Arriba
valencianoblaugrana Ver desplegable
Colaborador
Colaborador


Unido: 20/Junio/2014
Localización: Alicante
Estado: Sin conexión
Puntos: 503
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 17:03
Buenas tardes Xavi,

Te pongo el SQL

SELECT asientos.Nif_empresa, asientos.Año, apuntes_definitivo.cuenta, apuntes_definitivo.cuenta_reg, apuntes_definitivo.nom_cuenta, apuntes_definitivo.CM, apuntes_definitivo.Codigo, apuntes_definitivo.documento, Sum(apuntes_definitivo.Debe) AS Debe, Sum(apuntes_definitivo.Haber) AS Haber, [Debe]-[Haber] AS saldo
FROM asientos INNER JOIN apuntes_definitivo ON asientos.Num_asiento = apuntes_definitivo.Num_Asiento
GROUP BY asientos.Nif_empresa, asientos.Año, apuntes_definitivo.cuenta, apuntes_definitivo.cuenta_reg, apuntes_definitivo.nom_cuenta, apuntes_definitivo.CM, apuntes_definitivo.Codigo, apuntes_definitivo.documento
HAVING (((asientos.Nif_empresa)="A25262728") AND (([Debe]-[Haber])>0));

Muchas gracias
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 18/Junio/2024 a las 19:54
Hola!

Creo que el problema está en la agrupación y la clausula HAVING, utiliza mejor WHERE, a ver si funciona así. Mira este articulo

https://learn.microsoft.com/es-es/sql/ssms/visual-db-tools/use-having-and-where-clauses-in-the-same-query-visual-database-tools?view=sql-server-ver16
Un Saludo.
Arriba
valencianoblaugrana Ver desplegable
Colaborador
Colaborador


Unido: 20/Junio/2014
Localización: Alicante
Estado: Sin conexión
Puntos: 503
Enlace directo a este mensaje Enviado: 24/Junio/2024 a las 16:57
Buenas tardes,

Al final lo he solucionado creando un recordset sobre la consulta en cuestión y estableciendo como propiedad final que me incluya los registros cuyo [saldo] sea diferente a "0", es decir, cuyas cantidades en [debe] y en [haber] sean diferentes, lo he programado de la siguiente manera:

Saldo es un campo calculado en la consulta [saldo]=[debe]-[haber]

Set Rst = CurrentDb.OpenRecordset("SELECT * FROM Regularizacion WHERE Año=" & año & " AND Nif_empresa='" & Nif_Empresa & "' AND Left(cuenta, 1)BETWEEN  " & cuenta1 & "  AND  " & cuenta2 & " AND saldo <> 0 ORDER BY saldo")

Muchas gracias por vuestras aportaciones
Se puede cerrar el hilo

Un Saludo
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable