Estrarre mese e anno da un campo data

Anonimo
2017-06-02T14:32:17+00:00

Ciao,

stò provando in vari modi ma non sono riuscito ad avere il giusto risultato.

Stò lavorando su un dbase che mi gestisce le trasferte. Nella tabella trasferta ho il campo [DataTrasferta].

Dovendo, ogni inizio mese successivo, presentare un report delle trasferte effettuate, mi occorre raggruppare le trasferte per mese ed anno.

In una query, ho creato un campo MeseRiferimento e utilizzato la funzione DatePart ma al valore 29/05/2017 mi restituisce gennaio 1900.

Dove sbaglio?

Infine, sempre per lo stesso dbase, ogni persona che effettua traferte può avere a disposizione un fondo cassa in modo da sostenere le spese per ogni trasferta. Vorrei, in ogni report, che venga evidenziato l'ammontare del fondo cassa (se presente) e il saldo disponibile a fine mese. Non riesco a capire come posso gestire questo dato. Realizzo una tabella "Anticipazioni" oppure creo un campo in una delle tabelle già presenti? Come faccio ad ottenere il saldo?

Vi allego le immagini delle tabelle e relazioni del dbase:

Immagine del report con i dati di riepilogo mensile

Grazie per l'aiuto

Luca

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

8 risposte

Ordina per: Più utili
  1. Anonimo
    2017-06-04T14:45:52+00:00

    Ciao Sandro

    ti spiego come ho risolto per il fondo anticipazione.

    Ho creato un nuovo campo ImportoAnticipazione nella tabella Anagrafica dove inserisco l'importo dell'anticipazione (vedi tabella). Alla prima creazione dell'anagrafica si può inserire il rispettivo valore e pooi gestito come di seguito.

    Poi ho cretao una tabella anticipazione (come in foto) dove posso inserire eventuali ulteriori anticipazioni durante l'anno e con una Routin evento su prima di aggiornare ho inserito questo codice che mi aggiorna l'ImportoAnticipazione di cui alla tabella Anagrafe

    Private Sub Form_BeforeUpdate(Cancel As Integer)

    [ImportoAnticipazione] = [ImportoAnticipazione] + [Anticipazione]

    End Sub

    Durante la gestione delle spese relative ad una trasferta ho creato una tabelle delle spese collegate alla tabella trasferta e con lo stesso metodo di cui alla anticipazione aggiorno il saldo dell'anticipazione con la medesima Routine Evento

    Private Sub Form_BeforeUpdate(Cancel As Integer)

    [ImportoAnticipazione] = [ImportoAnticipazione] - [ImportoSpesa]

    End Sub

    In merito, invece, al report, come ti ho già accennato, a me serve che il report da stampare sia riferito al mese precedente il mese in corso.

    La tua query l'ho guardata, ma a dicembre mi stamperà tutte le strasferte, raggruppate per mese, da gennaio fino alla data della stampa ... e così non è quello che vorrei ottenere.

    Ti allego le immagini delle tabelle

    Ciao

    Luca

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-06-04T11:47:46+00:00

    ciao Luca,

    [...]

    sono riuscito (almeno credi) di aver risolto la gestione del Fondo Anticipazione.

    [...]

    come? :-)

    [...]

    Io vorrei ottenere, invece, il mese in lettere con al suo fianco l'anno espresso in cifre.

    Mi accontento anche solo del mese in lettere. Ho provato ad utilizzare la funzione MonthName (=MonthName("m";[MeseRiferimento])) ma il report mi restuisce l'errore #Tipo!.

    Proprio non riesco a risolvere questo problema .... !!!

    [...]

    se scarichi la demo del post precedente e apri il report vedi rispettivamente :

    e :

    [...]

    Luca

    [...]

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-06-04T11:30:53+00:00

    Ciao Sandro,

    sono riuscito (almeno credi) di aver risolto la gestione del Fondo Anticipazione.

    Purtroppo non riesco a risolvere il problema legato al Mese Riferimento.

    Ho provato ad utilizzare la funzione Month nella query per la stampa del riepilogo mensile e mi funziona fatta l'eccezione che la funione mi restituisce il mese come numero.

    Io vorrei ottenere, invece, il mese in lettere con al suo fianco l'anno espresso in cifre.

    Mi accontento anche solo del mese in lettere. Ho provato ad utilizzare la funzione MonthName (=MonthName("m";[MeseRiferimento])) ma il report mi restuisce l'errore #Tipo!.

    Proprio non riesco a risolvere questo problema .... !!!

    Luca

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-06-03T09:39:02+00:00

    Ciao Sandro,

    in effetti non saprei come gestire il fondo in modo corretto. In realtà il fondo viene concesso ad una persona (quindi Anagrafica), però le spese sostenute e pagate con il fondo sono legate alla trasferta.

    Per le date, sicuramente il motore del report mi consente il raggruppamento per mese, ma la stapa è complessiva.

    Mi spiego meglio. Se stampo le mie trasferte a dicembre, lui mi stampa tutte le trasferte fatte raggruppate per mese.

    Il mio obiettivo, invece, è che mi stampi le trasferte del mese precedente. In pratica il 2 febbraio stampo le trasferte fatte a gennaio; il primo marzo le trasferte di febbraio .... etc., ecco perchè avevo pensato alla funzione Dpart.

    Comunque, per il momento ho inserito il campo FONDO nella tabella delle trasferte. Ho anche inserito il calcolo di aggiornamento del fondo man mano che si effettuano delle spese.

    Ho peso spunto al Dbase del magazzino che abbiamo sviluppato insieme. Dove aggiorno la giacenza ad ogni movimento di carico e scarico.

    Darò un'occhiata al tuo esempio e, sono sicuro, che avrò le idee più chiare.

    Grazie, come sempre disponibilissimo

    Un saluto

    Luca

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2017-06-03T08:27:02+00:00

    ciao Luca,

    se la somma a disposizione è legata alla trasferta io inserire il campo fondo nella tabella trasferta.

    Per il resto puoi appoggiarti al motore del report raggruppando per anagrafica e per mese, calcolando i totali e parziali al volo.

    Prova a vedere se quitrovi qualche spunto.

    Ciao, Sandro

    La risposta è stata utile?

    0 commenti Nessun commento