+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Query controllo validità data odierna tra due date

  1. #1
    bertelli.davide non è in linea Scolaretto
    Data una tabella strutturata come segue (Light version):

    Id, Intero
    Conto,Testo,10
    ValidoPartireDal, Data/Ora, Data in cifre
    ValidoFinoAl, Data/Ora, Data in cifre

    Now() = 10/09/2021
    ValidoPartireDal= Null e ValidoFinoAl = Null --------> True
    ValidoPartireDal= 02/09/2021 e ValidoFinoAl = Null --------> True
    ValidoPartireDal= 02/09/2021 e ValidoFinoAl = 30/09/2021 --------> True
    ValidoPartireDal= Null e ValidoFinoAl = 02/09/2021 --------> False
    ValidoPartireDal= Null e ValidoFinoAl = 30/09/2021 --------> True
    ValidoPartireDal= 30/09/2021 e ValidoFinoAl =Null --------> False

    SELECT ........ FROM ....... WHERE (?)

    Ps: Now() Between [ValidoPartireDal] And [ValidoFinoAl ]=True non funziona!

    Come lo risolvo?

    Grazie

  2. #2
    Ma qual è la domanda??
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    bertelli.davide non è in linea Scolaretto
    Come lo risolvo?

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Davide non si capisce quello che vuoi... ti è chiaro...?
    ℹ️ Leggi di più su @Alex ...

  5. #5
    bertelli.davide non è in linea Scolaretto
    Buonase Alex,

    Dunque ....
    Nell'origine riga di una combobox devo poter elenare una serie di conti validi.
    Da qui...."SELECT Id, Conto,True AS Valido FROM Conti WHERE (Qui sta il problema)"

    La casistica è (Ad esempio):

    Now() = 10/09/2021
    Se ValidoPartireDal= Null e ValidoFinoAl = Null --------> True
    Se ValidoPartireDal= 02/09/2021 e ValidoFinoAl = Null --------> True
    Se ValidoPartireDal= 02/09/2021 e ValidoFinoAl = 30/09/2021 --------> True
    Se ValidoPartireDal= Null e ValidoFinoAl = 02/09/2021 --------> False
    Se ValidoPartireDal= Null e ValidoFinoAl = 30/09/2021 --------> True
    Se ValidoPartireDal= 30/09/2021 e ValidoFinoAl =Null --------> False

    Spero di essere stato chiaro.....
    Grazie

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Per le casistiche, non riesci a spiegare la regola o la logica... quello che scrivi non ha senso.
    Prima di tutto NOW() contiene non solo ggmmaaaa ma anche hhmmss e questo è un problema se cerchi DA÷A perché rischi di perdere dei pezzi.
    Per il resto se I 2 parametri sono Date non possono essere NULL e va gestito diversamente, ma non sibcomorrnde cosa vuoi.
    ℹ️ Leggi di più su @Alex ...

  7. #7
    bertelli.davide non è in linea Scolaretto
    Perchè le date non possono essere NULL?

    Sto testando questa soluzione.....

    WHERE (((Pdc.ValidoDal)<=Now()) AND ((Pdc.ValidoAl)>=Now()) AND ((Pdc.TipoContoId)=1)) OR (((Pdc.ValidoDal)<=Now()) AND ((Pdc.ValidoAl) Is Null) AND ((Pdc.TipoContoId)=1)) OR (((Pdc.ValidoDal) Is Null) AND ((Pdc.ValidoAl)>=Now()) AND ((Pdc.TipoContoId)=1)) OR (((Pdc.ValidoDal) Is Null) AND ((Pdc.ValidoAl) Is Null) AND ((Pdc.TipoContoId)=1))

    Pare funzionare.....pare!

    Ciao

  8. #8
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Ti rendi conto di quello che hai scritto... 45 condizioni...?
    Non servono a nulla... e continui a non spiegare quello che vorresti fare insistendo su quello che hai scritto.

    Quindi mi pare di capire che non vuoi suggerimenti funzionali ma solo far funzuonare la tua idea...
    ℹ️ Leggi di più su @Alex ...

  9. #9
    bertelli.davide non è in linea Scolaretto
    Devo poter stabilire se un record può entrare in una lista di valori.
    La condizione è Validità = True

    Esempio potrei inserire un record oggi ma renderlo disponibile a posteriori.
    Allo stesso tempo vorrei eliminare l'utilizzo a partire da una data.

    Conosci altri modi per farlo....ben vengano!

  10. Quote Originariamente inviato da bertelli.davide Visualizza il messaggio
    ....
    Spero di essere stato chiaro.....
    ... mica tanto chiaro

    Quote Originariamente inviato da bertelli.davide Visualizza il messaggio
    ....
    La casistica è (Ad esempio):

    Now() = 10/09/2021
    Se ValidoPartireDal= Null e ValidoFinoAl = Null --------> True
    Se ValidoPartireDal= 02/09/2021 e ValidoFinoAl = Null --------> True
    Se ValidoPartireDal= 02/09/2021 e ValidoFinoAl = 30/09/2021 --------> True
    Se ValidoPartireDal= Null e ValidoFinoAl = 02/09/2021 --------> False
    Se ValidoPartireDal= Null e ValidoFinoAl = 30/09/2021 --------> True
    Se ValidoPartireDal= 30/09/2021 e ValidoFinoAl =Null --------> False
    Fooooorse così ( ad esempio)

    Non provata ed occhio che Now() contiene anche l'ora

    
    Now() Between IIF(IsNull(ValidoPartireDal),DateAdd("d",-1,Now()), ValidoPartireDal) And IIF(IsNull(ValidoFinoAl),DateAdd("d",1,Now()), ValidoFinoAl)
    
    Ultima modifica di sspintux; 12-09-2021 07:40 
    ℹ️ Leggi di più su sspintux ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 4
    Ultimo Post: 11-03-2013, 10:22
  2. Data odierna in Cella
    Da brace nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 15-05-2012, 18:40
  3. Data odierna in maschera access
    Da axo nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 27-09-2008, 19:24
  4. calendario con data odierna
    Da martin nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 26-07-2008, 12:51
  5. Excel - Inserire data odierna
    Da Michelangelo nel forum Microsoft Excel
    Risposte: 1
    Ultimo Post: 22-04-2006, 14:52