Validazione campo tra due date

di il
15 risposte

Validazione campo tra due date

Salve a tutti, stavo cercando di scrivere un espressione in un campo di una maschera per validarne il valore. Mi spiego meglio, ho una combox dove viene riportato l'anno di riferimento, e una textbox dove viene inserita un data. Sostanzialmente dovrei controllare che la data immessa ad esempio 02/01/2024 sia effettivamente compresa tra 01/01/+AnnodiRiferimento e 31/12/+AnnoDiRiferimento.

L'espressione attuale è la seguente

[Data]<=#31/12/Maschere![Contabilità]![Anno_di_Riferimento]# And [Data]>=#01/01/Maschere![Contabilità]![Anno_di_Riferimento]#

ma ottengo un errore che mi informa il formato della data non è corretto.

Qualcuno sa come fare?

15 Risposte

  • Re: Validazione campo tra due date

    In questo caso potresti anche verificare la condizione: Annodiriferimento=Year(tua data)

    Se <> non è compreso tra 01/01/Annodiriferimento e 31/12/Annodiriferimento. Se = è compreso.

    Formatta il campo data.

  • Re: Validazione campo tra due date

    Vero! Grazie

  • Re: Validazione campo tra due date

    Sarebbe possibile comunque in una query un criterio nel campo data che permetta di estratte delle date comprese tra due intervalli?

    Vorrei inserire un campo proveniente da una combobox che ha come valore il solo anno e non la data completa e inserirlo al posto dell'anno.

     >#01/01/anno# and <#4/2/anno# 

    Ho provato con una cosa del genere ma funziona correttamente

    >"#01/01/" & [Maschere]![Input]![Anno] & "#" and <"#31/12/" & [Maschere]![Input]![Anno] & "#"
  • Re: Validazione campo tra due date

    Devi usare l'operatore Between.

  • Re: Validazione campo tra due date

    Anche usando l'operatore between non funziona

  • Re: Validazione campo tra due date

    Come hai scritto la stringa?

  • Re: Validazione campo tra due date

    Questa è l'espressione

    Between "#01/01/" & [Maschere]![Input]![Anno].[Text] & "#" And "#31/12/" & [Maschere]![Input]![Anno].[Text] & "#"
  • Re: Validazione campo tra due date

    Mah… formato Anglosassone della data…!!!!!

  • Re: Validazione campo tra due date

    01/05/2024 - @Alex ha scritto:


    Mah… formato Anglosassone della data…!!!!!

    Se scrivo ad esempio 

    Between #01/01/2012# And #12/31/2012# 

    Viene convertito in 

    Between #01/01/2012# And #31/12/2012#

    Quindi non credo sia un problema di formato data, ma di sintassi…

    Qualche idea?

  • Re: Validazione campo tra due date

    Se tu non credi allora sei a posto…!

    Peccato che dipenda da come viene costruito il predicato… ma cosa te lo dico a fare lo sapevi già vista la risposta superficiale.

    Mah…

  • Re: Validazione campo tra due date

    Perché .[text]?

  • Re: Validazione campo tra due date

    01/05/2024 - Antony73 ha scritto:


    Perché .[text]?

    Ehehehe vero… ovviamente errato.

  • Re: Validazione campo tra due date

    Ho usato text perche la combobox preleva un array di valori, da una tabella tra cui ID, e altri campi. Quindi alla selezione dell'anno, la combobox mi restituirebbe l'ID e non l'anno….

    Per Alex, vista la tua esperienza e la mia incapacità posso chiederti di scrivere la correzzione a questa stringa?

    Grazie

    Between "#01/01/" & [Maschere]![Input]![Anno].[Text] & "#" And "#31/12/" & [Maschere]![Input]![Anno].[Text] & "#"
  • Re: Validazione campo tra due date

    Ma hai provato con la proprietà .value?

    Viene restituito un errore di sintassi o altro?

Devi accedere o registrarti per scrivere nel forum
15 risposte