Diferencia entre dos fechas en una consulta

Resuelto
jed -  
lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   -
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. Usuario anónimo
     
    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. jed
       
      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. jed
       
      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. Usuario anónimo
     
    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. jed
       
      Gracias por responderme.

      Sí, olvidé precisar.

      Trabajo con Access y combino mis consultas en Visual Basic
      0
  3. Usuario anónimo
     
    ¡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. lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   3 571
       
      Hecho ;-)
      --
      106485010510997108
      0