Validazione campo tra due date

di KKK il
15 risposte

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

  • 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.

  • Vero! Grazie

  • 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] & "#"
  • Devi usare l'operatore Between.

  • Anche usando l'operatore between non funziona

  • Come hai scritto la stringa?

  • Questa è l'espressione

    Between "#01/01/" & [Maschere]![Input]![Anno].[Text] & "#" And "#31/12/" & [Maschere]![Input]![Anno].[Text] & "#"
  • Mah… formato Anglosassone della data…!!!!!

  • 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?

  • 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…

  • Perché .[text]?

  • 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] & "#"
  • 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