Necesitaría mostrar en una consulta, por ejemplo las ventas en un mes y en otra las del mismo mes, pero en otro año. ¿Qué forma seria la más lógica para hacerlo? (Access 97)
Opción a) Consultas de parámetros. Diseña en Access una consulta con parámetros (en concreto, que el parámetro sea el año, por ejemplo) que, cada vez que se ejecute, pida el año (o la fecha entera) para el que se quiere devolver los datos. Opción b) En visual basic, para devolver un recordset con los datos que quieras, simplemente simplemente modifica la cadena de SQL que se ejecuta para abrir el recordset. Por ejemplo: Dim intAño as Integer Dim StrSQL as String intAño=ImputBox("Introduzca el Año") StrSQL="SELECT * FROM NombreTabla WHERE Año = "& intAño Dim rs as RecordSet set rs=CurrentDb.Execute strSQL
Gracias, el problema es hacer la consulta, no los parámetros. ¿Podrías hacer lo que te digo en una sola consulta?
A ver, ¿quieres qué en una misma salida por pantalla salgan los datos de las ventas de enero de dos años distintos, por ejemplo? Según tu pregunta "necesitaría mostrar en una consulta, por ejemplo las ventas en un mes y en otra las del mismo mes, pero en otro año" estás preguntando por dos consultas(si no entiendo mal) Si lo que quieres es una consulta que tenga los datos de dos meses diferentes (por un lado enero del 2001, por ejemplo y, por otro lado, enero del 2002) lo único que tendrías que hacer es una consulta en la que el criterio sea Enero de 2001 o Enero de 2002 (es decir, el operador 'OR' de SQL) Si lo que quieres es unir la salida de dos consultas diferentes (una para enero del 2001 y otra para enero del 2002), entonces puedes utilizar la cláusula UNION SELECT (que, si no conoces el lenguaje SQL, lo tienes un poco complicado) pero, en un caso como este el ejemplo que te pongo de tomar los datos de enero en dos años distintos, daría los mismos resultados que utilizar el operador 'OR' Perdóname, pero sigo creyendo que no he entendido bien tu pregunta, por favor, si necesitas más aclaraciones, concreta un poco más que es lo que quieres (es que yo soy un poco corto :| )
Muchas, gracias, y perdón por no contestarte antes. Intentare explicarme: El resultado de la consulta debe ser por ejemplo: "ventas comparativas mes & mes año anterior" articulo|cantidad mes actual|cantidad =mes, año -1 Al final, tome la decisión de: 1. Hacer dos consultas una con el mes actual y otra con el año anterior 2. Unir las dos consultas (ojo) y agregarle las tablas para sacar por ej el nombre del articulo. (ojo)..--> problema. ¿Cómo hago para que salgan todas las ventas, las del mes y las del año anterior? (El problema concreto es como saco el nombre del articulo, si lo uno a la consulta primera y no existe en la segunda, ¿y al revés? No se si me entiendes. De nuevo muchas gracias
Finalmente lo hice con UNION, creando todos los campos en las dos SELECT, a 0 en la consulta que correspondía select ... sumaactual, 0 as sumaant... UNION (select ..., 0 as sumaact, sumant...) Gracias.