Ricerca giorni specifici in un periodo

di Marcdreamer il
3 risposte
Sera a tutti

sto cercando di mettere su una funzione che mi possa dare come risultato l'elenco delle pratiche fatte in due giorni specifici della settimana (il sabato e la domenica)

per esempio: pratica x fatta oggi; pratica y fatta ieri

Vorrei che mi riportasse nel periodo di tempo dal "01/01" al "15/06" solo le pratiche fatte di sabato o di domenica: in questo caso x (anche se siamo a settembre)

al momento ho solo questo:
Function sat(ddate As Date, whichday As VbDayOfWeek)
    sat = Weekday(ddate, whichday)
End Function
e non saprei come andare avanti

Grazie a tutti in anticipo

3 Risposte

  • OVVIAMENTE la pratica DEVE avere un campo data.
    Quindi dovrai fare una query del tipo:
    
    SELECT pratica FROM tabellaPratiche
    WHERE pratica.data >= inizioPeriodo
      AND pratica.data <= finePeriodo
      AND (
              giornoSettimana(pratica.data) == "Sabato"
           OR giornoSettimana(pratica.data) == "Domenica"
       )
    
    dove "giornoSettimana(data)" e' una funzione che ti ritorna il giorno della settimana corrispondente ad una certa data

    Per il "oggi/ieri", la query e'simile

    
    SELECT pratica FROM tabellaPratiche
    WHERE pratica.data >= inizioPeriodo
      AND pratica.data <= finePeriodo
      AND (
              giornoSettimana(pratica.data) == oggi()
           OR giornoSettimana(pratica.data) == oggi()-1
       )
    
    dove "oggi()" e' una funzione che ritorna la data di "oggi"
  • Come ti ha indicato [Migliorabile] il costrutto SQL deve individuare la settimana se questa abbraccia più periodi di ricerca... come nel tuoi caso.
    La adatterei così per JET:
    SELECT pratica FROM tabellaPratiche
    WHERE pratica.data >= inizioPeriodo
      AND pratica.data <= finePeriodo
      AND (
              WeekDay(pratica.data,2) = 6
           OR WeekDay(pratica.data,2) = 7
       )
    Fai attenzione anche a costruire correttamente la Sintassi di [inizioPeriodo] e [finePeriodo] che essndo date, necessitano di adeguata conversione se operi la Risoluzione Esplicita del valore.
Devi accedere o registrarti per scrivere nel forum
3 risposte