Diferencia entre dos fechas en una consulta

Resuelto
Hola,
tengo un problema para calcular la diferencia entre dos fechas.
he creado una tabla con campos DATEDEB BATEFIN NBJABS

Al inicio, actualizo esta tabla llenando los campos dateDeb y dateFin a partir de otra tabla según un periodo elegido en un formulario

Quiero luego calcular el número de días entre estas dos fechas y colocarlo en el campo NBJABS
he intentado:
DoCmd.RunSQL "UPDATE nomtable SET NBJABS = " & DateDiff("d", DATEDEB, DateFin) &

y

DoCmd.RunSQL "UPDATE nomtable SET NBJABS = DATEFIN - DATEDEB "

¿alguna otra idea ?

gracias de antemano
Configuración: Windows XP Internet Explorer 7.0

3 respuestas

  1. No domino muy bien Access, pero pude leer esto en la red:
    La función DATEDIFF("interval"; date1; date2) devuelve el intervalo de tiempo entre 2 fechas; el intervalo "j" devuelve el resultado en días; el intervalo "aaaa" devuelve el resultado en años; el intervalo "m" devuelve el resultado en meses
    Al parecer, por lo tanto, deberías cambiar tu primer parámetro en tu consulta.

    En mi opinión, el parámetro depende del idioma de tu base de datos.

    Otro sitio que puede ayudarte: https://www.techonthenet.com/access/functions/date/datediff.php
    --
    -- Alex para servirle --

    -- No olvides poner tus temas en "Resuelto" cuando ya tengas la respuesta ;-) --
    1
    1. Hola,
      He encontrado la solución.
      En realidad datediff es una función de VBA pero también una función SQL.
      por lo tanto, la sintaxis es muy simple:
      DoCmd.RunSQL "UPDATE " & nom2 & " SET NBJABS = DATEDIFF('d',DATEDEB, DATEFIN)"

      Gracias a ti
      0
    2. Hola,
      He encontrado la solución.
      En realidad datediff es una función de VBA pero también una función SQL.
      por lo que la sintaxis es simplificada:
      DoCmd.RunSQL "UPDATE " & nom2 & " SET NBJABS = DATEDIFF('d',DATEDEB, DATEFIN)"

      Gracias a ti
      0
  2. Sur quelle base travailles-tu ? (Oracle, MySQL, PostgreSQL ...)
    --
    -- Alex pour vous servir --

    -- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --
    0
    1. Gracias por responderme.

      Sí, olvidé precisar.

      Trabajo con Access y combino mis consultas en Visual Basic
      0
  3. ¡Genial, pon tu publicación como resuelta, por favor ;-)
    --
    -- Alex para servirle --

    -- No olvides marcar tus temas como “Resuelto” cuando tengas la respuesta ;-) --
    0
    1. Moderador
      Hecho ;-)
      --
      106485010510997108
      0