Access - Error en sentencia con 'Dcount'

 
Vista:

Error en sentencia con 'Dcount'

Publicado por Paco (38 intervenciones) el 01/06/2009 16:48:00
Hola,

Trato de reflejar en una caja de texto (texto42) el total de registros que cumplen una condición, la de tener el campo: FECHA_ENTR entre ambas fechas indicadas por dos cajas de texto :(TXT_FECHADESDE- TXT_FECHAHASTA), la base de datos es "CORREON".

Quiero seguir manteniendo la opción de darle formato a la fecha,

Debo de tener algún error porque no consigo que me lo muestre.

dim NTotal as long
NTotal = DCount("*", "CORREON", "[FECHA_ENTR]>=" & Format(TXT_FECHADESDE, "yyyy/mm/dd") & " And [FECHA_ENTR]<=" & Format(TXT_FECHAHASTA, "yyyy/mm/dd"))


Esta tampoco me funciona:

NumTotal = DCount("*", "CORREON", "([FECHA_ENTR]" >= Format([TXT_FECHADESDE], "yyyy/mm/dd") And [FECHA_ENTR] <= Format([TXT_FECHAHASTA], "yyyy/mm/dd"))

Texto42.Value = NTotal

Gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error en sentencia con 'Dcount'

Publicado por Enrique (1299 intervenciones) el 01/06/2009 18:40:57
Hola Paco:
Sinceramente no entiendo como después de haber estado varios dias dándole vuelta a este tema, todavía no le hayas cogido el paso. ¿ Donde están los signos almohadilla ( # ) ?, son imprescindibles para trabajar con fechas en las sentencias SQL, incluso cuando se trata de Funciones de Agregado como en este caso con DCount, pués yo no veo que las hayas utilizado en ninguna de las dos líneas de código que has puesto por lo que es lógico que ninguna de ellas te funcione. Prueba de esta forma:

NTotal = DCount("*", "CORREON", "[FECHA_ENTR]>=#" & Format(TXT_FECHADESDE, "yyyy/mm/dd") & "# And [FECHA_ENTR]<=#" & Format(TXT_FECHAHASTA, "yyyy/mm/dd") & "#")

Texto42 = NTotal

En programación, el más insignificante despiste se suele pagar con horas de tiempo perdidas y dolores de cabeza.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en sentencia con 'Dcount'

Publicado por Enrique (1299 intervenciones) el 01/06/2009 19:01:11
Se me olvidó decirte que si se trata de la misma base de datos que me enviaste por correo para la creación de un fichero TXT, no te hace falta usar la función de agregado DCount para contar los registros que se generan, puesto que al tener ya abierto el Recordset "rst", basta con asignarle el RecordCount de este al cuadro de texto "Texto42", antes de cerrarlo con rst.Close :

Texto42 = rst.RecordCount

Prueba y verás como funciona de las dos formas.

Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en sentencia con 'Dcount'

Publicado por Paco (38 intervenciones) el 01/06/2009 20:31:41
Hola Enrique, pues la verdad es que sí que probé incluyendo las almohadillas, tal como ahora te indico:

'NTotal = DCount("*", "CORREON", "[FECHAENTR]>=#" & Format([TXT_FECHADESDE], "yyyy/mm/dd") & "# And [FECHA_ENTR]<=#" & Format([TXT_FECHAHASTA], "yyyy/mm/dd"))

evidentemente tampoco estaba completa, lo que pasa es que al hacer la pregunta en el foro no incluí todas las pruebas que había hecho para no marear a nadie, por otro lado bien es cierto que me falta mucho que aprender sobre todo en sentencias SQL, si alguien me puede recomendar una página web o un buen manual para aprender SQL estaría muy agradecido ya que veo que si no empiezo por ahí me va a ser todo bastante difícil.

Por otro lado lo del recordset sí que lo sabía Enrique, lo que pasa es que no puedo hacerlo ya que no es para contar los mismos registros que se exportan al fichero TXT, sino para contar otro grupo de registros de la misma base pero que se consultan en otro momento, me pareció que debía ser más fácil y lógico hacerlo con esa funcion (Dcount) que no montar un recordset para hallar sólo un total.

Muchas Gracias
Paco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en sentencia con 'Dcount'

Publicado por 2pl (28 intervenciones) el 01/06/2009 23:09:44
No lo he probado, hazlo tu
NumTotal = DCount("[campo del que se quiere contar resgistros]", "CORREON", _
"[FECHA_ENTR] >= #" & TXT_FECHADESDE & "#" & _
"' And [FECHA_ENTR] >= #" & TXT_FECHAHASTA & "#")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Asi funciona

Publicado por 2PL (28 intervenciones) el 02/06/2009 08:54:12
Probado y funciona correctamente

Dim NumTotal As Integer
NumTotal = DCount("[GP01FNAC]", "GAD GPFIC01", _
"[GP01FNAC] >= #" & Me.DesdeFecha & "#" & " And [GP01FNAC] <= #" & Me.HastaFecha & "#")

GP01FNAC campo del que se quiere contar los registros
GAD GPFIC01 nombre de la tabla donde existe GP01FNAC
Me.DesdeFecha y Me.HastaFecha variables introducidas mediante un formulario
Saludos desde Cádiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Asi funciona

Publicado por Paco (38 intervenciones) el 02/06/2009 17:13:05
Gracias 2PL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar