Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569

    Office 2007 - Problema DateAdd

    Ciao A tutti

    Ho un problema usando la funzione DateAdd()


    Between [Data Inizio] And ( DateAdd("a";1;[Data Fine]) )



    Errore di Sintassi nell'espressione.
    Operando o operatore mancante, carattere o virgola non valida oppure testo immesso non racchiuso tra virgolette.

    Ho provato a sostituire i punti e virgola con la virgola semplice ma da lo stesso errore.

    Come devo scrivere??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    In che contesto usi quella sintassi, in una query o tramite la griglia ?

  3. #3
    Originariamente inviato da nicola75ss
    In che contesto usi quella sintassi, in una query o tramite la griglia ?
    Nicola ha perfettamente ragione; se non contestualizzi dove usi l'espressione e cosa vuoi fare è difficile aiutarti.

    Ci provo lo stesso. L'intervallo "a" mi pare che non sia riconosciuto. Prova ad cambiare in questo modo (ammesso che vuoi aggiungere un giorno alla data):

    codice:
    Between [Data Inizio] And ( DateAdd("d";1;[Data Fine]) )
    A tutti i COBOL-isti/CICS-isti/DB2-isti come me: l'adunanza è iniziata; ne resterà soltanto uno.
    È meglio bruciare subito, che spegnersi lentamente.

    Per fare un fumetto di successo ci voglio le tre "A": Azione - Avventura - Atette
    Ratman

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Soprattutto sarei curioso di conoscere la clausola where cosa contiene.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    é una query.

    Devo scaricare dei valori compresi tra due date.

    Se scrivo come criterio:

    between [data Inizio] and [Data Fine]

    mi restituisce i valori fino a DataFine-1

    Per cui usando la dateadd(+1) dovrei risolvere il problema.

    Su windows 2000 con office 2003 l'ho sempre usata senza errori

    Il parametro "a" è valido, si riferisce al "Giorno Dell'Anno"

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Che fosse una query l'avevo intuito.

    Se magari fai un esempio pratico di cosa dovrebbe estrarre provo a darti una mano.

    Questa frase

    Il parametro "a" è valido, si riferisce al "Giorno Dell'Anno" non mi convince molto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    il DB è costituito da n colonne, che registrano una serie di informazioni su un dato evento
    l'utima colonna si riferisce alla data dell'evento.

    Es.

    NomeEvento|durata|paramatro1|...|DataEvento

    Devo interrogare il db in modo da estrarre tutti gli eventi compresi tra due date.

    Per cui uso una query di selezione con criterio between DataInizio-DataFine

    Il problema della between è che non mi restituisce gli eventi del giorno DataFine.

    Per ovviare usavo la dateadd() per aggiungere un giorno a DataFine, solo che con Office 2007 mi sta dando problemi.

    I parametri della DateAdd sono corretti:
    http://office.microsoft.com/it-it/ac...CH100728911040

    Ciao e Grazie

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non ho access 2007 a portata di mano quindi non saprei.
    Certo che mi sembra strano che non funzioni un semplice between.
    Sei sicuro di passare la data nel formato atteso, cioè #mm/gg/aaaa#?

  9. #9
    Ritorna ad Office 2003 ... ok sono scemo :berto: !

    Purtroppo qui (al lavoro) non ho il 2007, quindi dovrei fare un po' di prove stasera a casa.

    Hai provato ad inserire "Data inizio" e "Data fine" fra due comandi "CDate". Può sembrare inutile ma, a volte, la conversione di date fa strani scherzi.
    codice:
    between CDate([data Inizio]) and DATEADD("a";1;CDate([Data Fine]))
    Inoltre credo che la frase:
    Il problema della between è che non mi restituisce gli eventi del giorno DataFine.
    Merita un indagine più approfondita. Da quel che so la clausola "Between" dovrebbe restituire tutti i valori compresi quelli specificati.
    Per caso la colonna "DATA EVENTO" ha una formattazione particolare?
    A tutti i COBOL-isti/CICS-isti/DB2-isti come me: l'adunanza è iniziata; ne resterà soltanto uno.
    È meglio bruciare subito, che spegnersi lentamente.

    Per fare un fumetto di successo ci voglio le tre "A": Azione - Avventura - Atette
    Ratman

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    La colonna data è fatta coì:


    26/06/2009 20.43.02
    26/06/2009 20.58.21
    27/06/2009 12.35.45
    27/06/2009 12.36.48
    27/06/2009 16.26.38
    ...

    Con Cdate Non Cambia nulla

    Sei sicuro di passare la data nel formato atteso, cioè #mm/gg/aaaa#?
    Non ci arrivo nemmeno al passaggio della data. In fase di scrittura della query mi da subito l'errore.
    Il problema sta nella DateAdd, perchè se la tolgo e scrivo solo between[inizio] and [fine] non mi da nessun errore

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.