Estoy haciendo un programa en access . Quiero hacer que una consulta me muestre los siguientes resultados.

En u na tabla tengo nombres con aportaciones en dinero, los nombres se repiten en fechas diferentes.

Quiero hacer una consulta que me sume las cantidades entre dos fechas y que me muestre las cantidades de aportaciones de cada nombre sin repetir os nombres, mi pregunta es Como hago esta consulta.

2 respuestas

Respuesta
3

Benjamin: Partiendo de que la contestación de Icue es correcta, lo que yo he entendido es quieres verlos Todos los Nombres con la Suma de Aportaciones de un Periodo dado.

Abre una consulta en Vista de diseño, y no le añadas ninguna Tabla.

Abrela en Vista SQL y pega éste código "Adaptando los Nombres de Tabla, Formulario etc...

SELECT [ElNombreDeTuTabla].NombrePersona, Sum([ElNombreDeTuTabla].Cantidad) AS Ipte

FROM [ElNombreDeTuTabla]

WHERE ((([ElNombreDeTuTabla].FechaAporta)>=[Formularios]![NombreDeTuFormulario].[TxtDesdeFecha] And ([ElNombreDeTuTabla].FechaAporta)<=[Formularios]![NombreDeTuFormulario].[TxtHastaFecha]))

GROUP BY [ElNombreDeTuTabla].NombrePersona;

A ésta Consulta le llamas por ejemplo >> QrySumaImporteEntreFechas y la guardas.

En un Formulario dos cuadros de Texto para las Fechas: TxtDesdeFecha y TxtHastaFecha.

Un Botón que voy a llamar BtnMuestraResultados. Y en el Evento Click de ese Botón.

Private Sub BtnMuestraDatos_Click()
DoCmd.OpenQuery "QrySumaImporteEntreFechas"
End Sub

Se te abrirá la Consulta con los Resultados. Luego si sobre esa Consulta te quieres hacer un Formulario, Informe etc. ya verás tu lo que necesitas. Un saludo >> Jacinto

Gracias Jacinto Trillo Jareño por tu pronta respuesta 

te voy a explicar mejor para que me puedas ayudar, trate de hacer lo que me sugeriste.

en una tabla que se llama Reporte Semanal

 Tengo los Nombres de las Personas que entregan Dinero cada semana Para Cinco Propósitos Diferentes 

los campos son 

Nombre del Ciente, Fecha, Aportacion 1, Aportacion2, Aportacion3, Aportacion 4 y Aportacion 5

cada Semana los Cientes aportan a una o a Varias, necesito Hacer un Reporte cada tres o cada Cuatro Semanas, que me muestre  las aportaciones de todos los cientes que Dieron Dinero durante ese periodo.

tengo un formulario con dos cuadro de texto para poner la fecha inicial y la fecha final, y un botón que al hacer clic me muestre un informe  con todos los que aportaron durante el periodo, sumando las aportaciones de cada uno  y que al final me sume en totales por campos.

 gracias nuevamente por tu ayuda,

 tu repuesta para mi pregunta pasada fue efectiva 

Gracias 

Benjamin: La operativa a seguir es la misma que te comenté en mi primera respuesta, salvo que has de hacer la suma de cada uno de los Conceptos, de modo que el texto es aproximadamente así.

SELECT [Reporte Semanal].[Nombre del Ciente], Sum([Reporte Semanal].[Aportacion1]) AS Ipte1, Sum([Reporte Semanal].[Aportacion2]) AS Ipte2, Sum([Reporte Semanal].[Aportacion3]) AS Ipte3, Sum([Reporte Semanal].[Aportacion4]) AS Ipte4, Sum([Reporte Semanal].[Aportacion5]) AS Ipte5

FROM [Reporte Semanal]

WHERE ((([Reporte Semanal].Fecha)>=[Formularios]![NombreDeTuFormulario].[TxtDesdeFecha] And ([Reporte Semanal].Fecha)<=[Formularios]![NombreDeTuFormulario].[TxtHastaFecha]))

GROUP BY [Reporte Semanal].[Nombre del Ciente];

He puesto los Nombres que citas, pero debes de asegurarte que son correctos, porque en Aportacion 1 lo pones separado y en los demás lo pones junto. Luego Nombre del Ciente, es posible que sea un error de teclear y tengas en realidad Nombre de Cliente.

Y al hilo de esto una recomendación.

Si en lugar de usar Nombre “Separados”, que te obligan a encerrar entre Corchetes, los pones juntos, los corchetes son opcionales.

Ejemplo: Reporte Semanal >> [Reporte Semanal], mientras que ReporteSemanal puede ir sin corchetes.

Te queda sustituir por lo que tu tengas:

NombreDeTuFormulario, TxtDesdeFecha y TxtHastaFecha

Mis saludos >> Jacinto

Hice lo que me comentaron pero no me resulta, como puedo enviarte un Ejemplo para  que me entiendas Mejor. gracias por tu ayuda

Benjamin: Si quieres mandarme algo para que lo pueda ver mejor, hazlo a [email protected]

Un saludo >> Jacinto

Respuesta
2

Puedes hacerlo de varias formas.

1º Con consultas, crea una consulta como la de la imagen (cambia Apostante por cliente, Fechasorto por FechaIngreso y Resultado1 por Ingreso, o los valores que tu tengas

Luego con esta consulta crea otra como la imagen

Cuando quieras abrir esta última te preguntará por el nombre del cliente y la fecha inicial y la final y te sacará la suma de los ingresos entre esas dos fechas

2º En un formulario. Pon dos cuadros de texto, uno llamado(propiedades-otras-nombre) FechaInicial y otro llamado FechaFinal y un combinado y en su origen de la fila pon

SELECT Ingresos.Cliente FROM Ingresos GROUP BY Ingresos.Cliente;

Y en sus propiedades-eventos-después de actualizar crea un procdimiento de eento y entre Private Sub y End sub pon

Dim a As Currency
a = DSum("ingreso", "ingresos", "cliente='" & Me.nombredelcombinado & "' and FechaIngreso between [fechaInicial] and [fechaFinal]")
MsgBox "Ese cliente ha ingresado " & a & " en esas fechas", vbOKOnly, " aviso"

Así, si en el cuadro Fecha inicial escribes una, en fecha final escribes otra y en el combinado eliges un cliente, t aparece un mensaje diciéndote lo que ha ingresado entre esas dos fechas.

Hay más formas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas