Access e giorni della settimana

di il
7 risposte

Access e giorni della settimana

Buongiorno a tutti, e grazie dello spazio concessomi.
Mi sono registrato qui perché ho un problema e nemmeno consultando le varie pagine di internet ho ancora trovato una risposta.
Spiego:
ho due sistemi per la gestione delle commesse, uno che funziona in tempo reale e l'altro, Access, che funziona, sui dati riversati dal primo, con un giorno di ritardo. Access lo utilizzo per interrogare e per delle piccole utility. Il problema è il seguente: ho impostato una query che interroga mettendo come criterio sul campo data il date()-1. Il problema si presenta sempre il lunedì: ovviamente il criterio cerca di analizzare dati immessi la domenica, che non esistono, devo quindi, ogni lunedì, modificare la query e inserire o direttamente la data di venerdì o modificare il criterio in date()-3. Questo è abbastanza una rottura, considerando che la query devo darla in mano a persone che di access ne sanno ben poco e vorrei che ci mettessero le mani il meno possibile. Mi chiedevo quindi se c'era la possibilità di discernere i giorni della settimana, del tipo: se oggi è lunedì, allora interroga con la data di venerdì, per tutti gli altri giorni usa la data di ieri (ricordo che access è un giorno in ritardo). Su internet non ho trovato nulla che faccia al caso mio, non sto a raccontarvi dei vari esperimenti col Date, Datepart, weekday ecc ecc, tutti clamorosamente falliti.

Grazie

Ciao

Graz.

7 Risposte

  • Re: Access e giorni della settimana

    Ciao.
    Sinceramente sono proprio le funzioni legate alla data che dovresti usare.

    Come mai hanno fallito?
  • Re: Access e giorni della settimana

    Onestamente non lo so, access suggeriva solo errori si sintassi di virgole e parentesi...

    ps: il weekday fornisce il numero del giorno, e poteva essere la soluzione, ma non sono riuscito a inserirlo in nessuna istruzione di comando, probabilmente è solo una visualizzazione, tuttavia, se nel campo dove compare inserisco come criterio il numero del giorno, anche se in maniera un po' strana, funziona. Il problema è legarlo in un automatismo, e la cosa non mi riesce
  • Re: Access e giorni della settimana

    Ciao.
    il codice sotto è errato
    Hai provato con questa funzione?

    =WeekdayName(1;0)
    ti restituisce lunedì, da qui via codice vba con un confronto imposti se fare una query date()-1 oppure una query date()-3

    MODIFICA

    Il codice sopra non c'entra niente me so sbagliato

    AGGIUNTA

    in realtà la via iù veloce è affrontare il problema via VBA
    piccolo esempio
    Private Sub Comando4_Click()
    Dim MiaData, giornosettimana
    MiaData = Now
    giornosettimana = Weekday(MiaData)
    If giornosettimana = "1" Then
    Me.Testo2.SetFocus
    Me.Testo2.Text = "LUNEDI'"
    Else
    MsgBox "non è lunedi"
    End If
    
    
    End Sub
  • Re: Access e giorni della settimana

    Dove sta la query? Io non la vedo.
    Io penserei a una colonna nella query che preveda una espressione che consideri il Weekday e poi applicare una IIf che valuta che se si tratta di Lunedì deve detrarre -3.
    Ho dato una imbeccata teorico-logica, per i dettagli sintattici, sarebbe utile vedere i dati veri.
  • Re: Access e giorni della settimana

    OsvaldoLaviosa ha scritto:


    Dove sta la query? Io non la vedo.
    Io penserei a una colonna nella query che preveda una espressione che consideri il Weekday e poi applicare una IIf che valuta che se si tratta di Lunedì deve detrarre -3.
    Ho dato una imbeccata teorico-logica, per i dettagli sintattici, sarebbe utile vedere i dati veri.
    Ciao.

    Se ti riferisci a quello che ho postato io la query naturalmente non c'è.

    Quello è solo un esempio di come riconoscere il giorno della settimana. Da li, nelle condizioni dell'if...then... else dovrebbe far partire o la query con il -1 o la quesry con il meno -3.

    Il problema principale secondo me è riconoscere il giorno della settimana e Io l'ho pensata in questa maniera e a naso mi sembra funzionante e funzionale allo scopo senza mettere mano alla struttura del database.

    Poi naturalmente le soluzioni potrebbero essere molteplici
  • Re: Access e giorni della settimana

    Ciao a tutti e grazie per le risposte. Ho risolto, grazie a un collega con la mente più "fresca" della mia, che ci giravo attorno ma alla fine mi ero un po' perso (e sbagliavo la sintassi... ).
    La soluzione è questa, magari a qualcuno potrà tornare utile:

    IIf(Weekday(Date();2)=1;Date()-3;Date()-1)
  • Re: Access e giorni della settimana

    Graz ha scritto:


    ciao a tutti e grazie per le risposte. Ho risolto, grazie a un collega con la mente più "fresca" della mia, che ci giravo attorno ma alla fine mi ero un po' perso (e sbagliavo la sintassi... ).
    La soluzione è questa, magari a qualcuno potrà tornare utile:

    IIf(Weekday(Date();2)=1;Date()-3;Date()-1)
    Ciao.
    Sicuramente tornerà utile. Ed è la soluzione più veloce e funzionale però l'immediate IF ti risolve solo in parte il problema perchè ora hai l'intoppo del lunedì, ma che cosa accade nei casi in cui ci sono ponti, festività etc etc che ti vanno ad aumentare i giorni che devi far retrocedere?
Devi accedere o registrarti per scrivere nel forum
7 risposte