Access ... Problema con funcion DSum y Dcount

Tengo un formulario independiente en donde voy a agregar dos cuadro independientes txt7 y txtSuma. En el evento al cargar del formulario quiero agregar la función Dcount en donde registre los cheques de la tabla "Cheques Propios" si la fecha de pago "FchPag" esta dentro de los 7 días. La función que puse es la siguiente:

 txt7 = DCount("*", "[Cheque Propio]", "[FchPag] Between Date() and Date()+7") .... La funcion devuelve el numero 1 en el txt7 pero no es el valor correcto.... Me fije en la tabla Cheque Propio y el valor que deberia poner es 2.

txt7 = DCount("*", "[Cheque Propio]", "[FchPag] Between Date() and Date()+7")

Además necesito que en el campo txtSuma se sumen los importes de los cheques que aparecen en el tx7. Osea que se sumen los cheques que se tienen que pagar en los próximos 7 días.

txtSuma = DSum("MontCheq", "[Cheque Propio]", "[FchPag] Between  Date And Date + 7")

Esta función no devuelve ningún valor ya que no logro acomodar la sintaxis

2 Respuestas

Respuesta
1

Pruebe con:

 txt7 = dcount("*","Cheque Propio"," FchPag Between " & "#" & format(date(),"mm/dd/yyyy") & "#" & " AND " & "#" & format(Date+7,"mm/dd/yyyy") & "#") 

Gracias por tu respuesta. La función estaba bien la que no funciona es la de txtSuma

Excelente tu ejemplo Julián. Entiendo perfectamente tu planeo y es así como decís ...

El tema es que no se porque no me suma, en realidad ni siquiera pone algún valor en el txtSuma...

Más tarde le respondo sobre la suma no estoy cerca a el pc

Sigue el modelo de de txt7. Tenga presente cuando se hacen consultas con fechas estas debe llevar el formato americano, esto es, mm/dd/yyyy de lo contrario obtendrá resultados no esperados, por tal motivo se debe utilizar #mm/dd/yyyy# y, utilizar Format()

Respuesta
1

Si tengo la tabla

Y tengo el formulario, donde le he puesto un botón para que se vea mejor, pero en el evento Al cargar está perfectamente

Cuando pulso el botón

La instrucción la tienes perfectamente puesta, en el caso de la suma ponlo cono Date() y Date() + 7. El problema es otro. Cuando dices, ¿cuántos días hay entre el 11 y el 22 de x mes ¿se tiene en cuenta el 11 y el 22?, Se tiene en cuenta el 11, ¿pero no el 22? No se tiene en cuenta el 11, ¿pero si el 22?. Me explico, si un cheque tiene fecha de pago el propio 22, ¿lo tiene que contar, o sólo debe contar los que hay hasta el 22.

Cuando dices ¿Cuántos días hay entre este jueves y el jueves siguiente?. Una respuesta sería, una semana, o sea siete días, pero también es válida viernes, sábado, domingo, lunes, martes y miércoles, o sea, 6

Julián muchas gracias por tu respuesta... Gracias a eso me obligaste a revisar la función Dsum y me di cuenta que después de Date no había puesto los paréntesis ()

Gracias Eduardo por tu aporte..... es importante mirar en que formato se agregan las fechas.... muchas gracias

Buenas quería hacerles una consulta. Si necesito saber la suma de cheques de una fecha en particular por ejemplo del día de hoy.  la función seria la siguiente???

Para contar los cheque de hoy la función es la siguiente

txtHoy = DCount("*", "[Cheque Propio]", "[FchPag] = Date()") .... funciona sin problema pero para sumar los montos de los cheque de hoy no.

txtSumaHoy = DSum("MontCheq", "[Cheque Propio]", "[FchPag] =  & Date()")

Quería contarles que ya solucione el inconveniente... tenia que guardar y volver a cargar el formulario

No tienes porqué cerrar y abrir el formulario, basta con que encima de la línea de Dsum o Dcont pongas

Me. Requery

Es decir, que el formulario reconsulte su origen de registros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas