+ Rispondi al messaggio
Pagina 3 di 3 primaprima 123
Visualizzazione dei risultati da 21 a 29 su 29

Verificare sovrapposizione date

  1. #21
    L'avatar di nman
    nman non è in linea Topo di biblioteca
    Quote Originariamente inviato da guil Visualizza il messaggio
    1) Il codice fiscale è scontato che serve per identificare solo quel tipo di lavoratore;
    Ok, chirito e metabolizzato, ..... tu fai una ricerca su un singolo lavoratore e verifichi che non richieda delle ferie che si accavallano fra di loro



    Quote Originariamente inviato da guil Visualizza il messaggio
    2) 2) L'operatore BETWEEN restituisce il risultato voluto soltanto se nella ricerca indichiamo uno degli estremi cioè o inizio o fine. (Es. se nel db abbiamo registrato un periodo dal 10.02.2017 al 15.02.2017 e ricerchiamo dal 10.02.2017 al 11.02.2017 è ok, oppure dal 12.02.2017 al 15.02.2017 è ok, se ricerchiamo dal 14.02.2017 al 14.02.2017 il BETWEEN non trova nulla).
    Mi sa che tu fai un uso tutto tuo del BETWEEN ..........
    il classico e corretto è: ........ WHERE DataRicercata BETWEEN @Dal AND @Al
    ma tu unvece della DataRicercata ci metti un periodo ??????? (Osserva i colori)

    La DataRicercata non è un periodo besi una data concreta
    adesso intuisco perche dici che funziona solo se l'inizio o fine sono .........



    Quote Originariamente inviato da guil Visualizza il messaggio
    .......Assolutamente no tutto verificato.
    Non vorrei essere insistente...., prometto che dopo non te lo ripeto piu,
    ma:

    con la tua tabella del #1
    con i tuoi dati del #8
    con la tua query del #9
    (indifferente se poi corretta o non con le parentesi per isolare il dipendente)
    Il nostro Codice fiscale ha gia richiesto ferie dal 1/9 al 15/9 (Record 14)
    se fa una altra richiesta accavallata dal 3/9 al 20/9 ti assicuro che non viene segnalato


    .

  2. #22
    guil non è in linea Scolaretto
    Quote Originariamente inviato da nman Visualizza il messaggio
    Ok, chirito e metabolizzato, ..... tu fai una ricerca su un singolo lavoratore e verifichi che non richieda delle ferie che si accavallano fra di loro




    Mi sa che tu fai un uso tutto tuo del BETWEEN ..........
    il classico e corretto è: ........ WHERE DataRicercata BETWEEN @Dal AND @Al
    ma tu unvece della DataRicercata ci metti un periodo ??????? (Osserva i colori)

    La DataRicercata non è un periodo besi una data concreta
    adesso intuisco perche dici che funziona solo se l'inizio o fine sono .........




    Non vorrei essere insistente...., prometto che dopo non te lo ripeto piu,
    ma:

    con la tua tabella del #1
    con i tuoi dati del #8
    con la tua query del #9
    (indifferente se poi corretta o non con le parentesi per isolare il dipendente)
    Il nostro Codice fiscale ha gia richiesto ferie dal 1/9 al 15/9 (Record 14)
    se fa una altra richiesta accavallata dal 3/9 al 20/9 ti assicuro che non viene segnalato


    .
    Si effettivamente hai ragione BETWEEN deve includere un campo e compararlo con due periodi e ho usato l'operatore in maniera un po "personalizzata"
    Riguardo alla ricerca sul record 14 ora non ho modo di provarlo ma in settimana ti faccio sapere, anche se davvero ho fatto un sacco di prove ed è tutto ok (almeno sembra!!)...un saluto.
    Ultima modifica di guil; 26-06-2017 00:46 

  3. #23
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Premetto che non è una questione di estrema importanza, ma è una mia curiosità:
    a me resta il dubbio sul Tipo di dato che viene utilizzato in tabella per le date: DATE invece di DATETIME.
    A rigor di logica, sarebbe più conveniente usare il secondo, perché in un sistema di controllo su FERIE e/o PERMESSI, nei secondi la possibilità di indicare l'ora è determinante.

    ℹ️ Leggi di più su gibra ...

  4. #24
    guil non è in linea Scolaretto
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Premetto che non è una questione di estrema importanza, ma è una mia curiosità:
    a me resta il dubbio sul Tipo di dato che viene utilizzato in tabella per le date: DATE invece di DATETIME.
    A rigor di logica, sarebbe più conveniente usare il secondo, perché in un sistema di controllo su FERIE e/o PERMESSI, nei secondi la possibilità di indicare l'ora è determinante.

    I permessi in questo caso non interessano...solo giorni di ferie

  5. #25
    guil non è in linea Scolaretto
    Non vorrei essere insistente...., prometto che dopo non te lo ripeto piu,
    ma:

    con la tua tabella del #1
    con i tuoi dati del #8
    con la tua query del #9
    (indifferente se poi corretta o non con le parentesi per isolare il dipendente)
    Il nostro Codice fiscale ha gia richiesto ferie dal 1/9 al 15/9 (Record 14)
    se fa una altra richiesta accavallata dal 3/9 al 20/9 ti assicuro che non viene segnalato
    Hai davvero ragione! Se il valore immesso inizia dopo e finisce dopo non viene rilevato! Giustissimo! Bel casino! Mi verrebbe in mente a questo punto di memorizzare ogni singolo giorno scelto e verificare se è inserito nel db e proseguo fino alla fine...ma non credo sia facilissimo....hai suggerimenti? Ti ringrazio come sempre.

  6. #26
    L'avatar di nman
    nman non è in linea Topo di biblioteca
    Quote Originariamente inviato da guil Visualizza il messaggio
    ....hai suggerimenti? ........
    Veramente già dal #15 hai il suggerimento
    SELECT Codfisc, Dal, Al FROM Ferie WHERE ((Codfisc=@Codfisc) AND ((@Dal>=Dal AND @Dal<=Al) OR (@Al>=Dal AND @Al<=Al) OR (@Dal<=Dal AND @Al>=Al)));
    
    osserva i colori delle parentesi
    .

  7. #27
    L'avatar di gibra
    gibra non è in linea Very Important Person
    SELECT * FROM ferie
    WHERE (Dal BETWEEN '03/09/2017' AND '20/09/2017') OR (Al BETWEEN '03/09/2017' AND '20/09/2017')
    
    restituisce

    Id	Codfisc	                Dal	        Al	        Tipo	
    14	GHJTU986JMNHJKMG	01/09/2017	15/09/2017	FERIE
    
    Adesso sostituisci le date con i tuoi parametri.
    ℹ️ Leggi di più su gibra ...

  8. #28
    guil non è in linea Scolaretto
    Quote Originariamente inviato da nman Visualizza il messaggio
    Veramente già dal #15 hai il suggerimento
    SELECT Codfisc, Dal, Al FROM Ferie WHERE ((Codfisc=@Codfisc) AND ((@Dal>=Dal AND @Dal<=Al) OR (@Al>=Dal AND @Al<=Al) OR (@Dal<=Dal AND @Al>=Al)));
    
    osserva i colori delle parentesi
    .
    Ok grande!!! Adesso si 1000% funzionante!!
    Grazie di tutto un saluto.

  9. #29
    guil non è in linea Scolaretto
    Quote Originariamente inviato da gibra Visualizza il messaggio
    SELECT * FROM ferie
    WHERE (Dal BETWEEN '03/09/2017' AND '20/09/2017') OR (Al BETWEEN '03/09/2017' AND '20/09/2017')
    
    restituisce

    Id	Codfisc	                Dal	        Al	        Tipo	
    14	GHJTU986JMNHJKMG	01/09/2017	15/09/2017	FERIE
    
    Adesso sostituisci le date con i tuoi parametri.
    Grazie anche a te ho risolto un saluto.

+ Rispondi al messaggio
Pagina 3 di 3 primaprima 123

Potrebbero interessarti anche ...

  1. Verificare data tra due date
    Da tizike nel forum Visual Basic 6
    Risposte: 13
    Ultimo Post: 05-03-2020, 17:59
  2. sovrapposizione colonne-righe
    Da riccardo ponsiani nel forum Microsoft Word
    Risposte: 11
    Ultimo Post: 06-07-2010, 15:02
  3. [CSS] Sovrapposizione DIV come?
    Da tonyuk nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 07-11-2009, 18:14
  4. Sovrapposizione di funzioni
    Da _gas nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 24-05-2006, 21:02
  5. Sovrapposizione di grafici
    Da pedros nel forum Microsoft Word
    Risposte: 6
    Ultimo Post: 19-12-2005, 10:09