Access popolare una tabella con automatismi

Anonimo
2016-07-24T10:57:55+00:00

Buongiorno e buona domenica. Oggi, per la vostra felicità, si parla di rateazione tasse.......

Ogni anno vengono stabilite le date di scadenza per il pagamento delle imposte; queste date variano in base a 3 variabili:

  • tipo cliente: privato (rate scadenti fine mese) e non privato (rate scadenti metà mese)
  • posticipo pagamento (Si/No)
  • proroga pagamento (Si/No)

da queste ultime due variabili dipende la data di inizio pagamento.

Le combinazioni che scaturiscono danno luogo a 8 diversi tipi di rateazioni, con diverse date di inizio; esempio 1: cliente privato postico NO proroga NO: numero massimo di 7 rate 16/06 - 30/06 - 31/07 - 31/08 - 30/09 - 31/10 e 30/11; esempio 2: cliente non privato posticipo SI proroga SI: numero massimo di 4 rate 22/08 - 16/09 - 16/10 e 16/11, e così via.

In pratica all'inizio dell'anno vorrei inserire le date di decorrenza di pagamento nella tabella "DateInizioRate" e riuscire ad accodare nella tabella "Rate" tutte le 45 combinazioni possibili; ho provato in tutti i modi scervellandomi inutilmente; la difficoltà sta nel popolare il campo "RataNumero" e non solo.

Allego una piccola demo con qualche esempio nella tabella "Rate" (ecco il link):

https://1drv.ms/u/s!AoS1f\_man2ULhqZei6116j6SLP6p4A

Grazie

Ciao Andrea

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
Risposta accettata dall'autore della domanda
Anonimo
2016-07-30T08:19:39+00:00

ciao Andrea,

[...]

In questo modo posso visualizzare per ciascun cliente la situazione dei pagamenti e, accodando i dati dei vari clienti in una tabella, ottenere un report con l'elenco dei clienti con pagamenti in scadenza ad una determinata data (che è il vero obiettivo per lo studio).

[...]

no, non proprio accodare, nel senso che per come l'ho pensata io, il calcolo può essere effettuato al volo quindi non serve memorizzare totali.

Chiaro che in caso di esigenza di archiviazione di dati storici nulla ti vieta ti memorizzarli in una tabella.

[...]

Sarei curioso di verificare come hai strutturato la tua demo; potresti per cortesia postarla (ovviamente se non ti torna male) ?

[...]

si nessun problema : demo.

non ho posto alcun controllo nel caso in cui si scelga l'opzione di pagamento rateale e le rate non siamo impostate, in tal caso il calcolo è fuoriviante...

in pratica scegli l'opzione di pagamento clicchi su calcola e vedi i risultati.

come detto nel caso di pagamento rateale imposta il numero delle rate.

Ho impostato un rudimentale report che mostra gli stessi dati che hai nella maschera.

Ho inserito anche una query in join per il rankig, se vuoi divertirti ad implementarla un po'....il join garantisce performance superiori rispetto alle subQueries.

se la apri in struttura griglia fanne prima una copia, l'ottimizzatore la modifica...

[...]

Grazie ancora

Andrea

prego e buon sabato a te.

Ciao, Sandro.

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-08-15T10:23:57+00:00

    Grazie e scusa il ritardo nella risposta, non ho avuto tempo fino ad ora !

    Ho "studiato" la tua demo e ho preso gli spunti necessari per adattarla al mio database e tutto sembra funzionare per bene.

    Grazie e buone feste.

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-07-29T06:44:58+00:00

    Sandro grazie e...... complimenti per la specializzazione !!! E' tutto molto chiaro.

    Il mio database è già strutturato per il calcolo degli interessi, sulla base delle tabella pubblicate ogni anno dal Ministero; quindi, secondo il tuo suggerimento, ogni anno si tratterebbe di inserire manualmente le date scadenza tenendo conto dei festivi e inserire le tabelle interessi.

    In questo modo posso visualizzare per ciascun cliente la situazione dei pagamenti e, accodando i dati dei vari clienti in una tabella, ottenere un report con l'elenco dei clienti con pagamenti in scadenza ad una determinata data (che è il vero obiettivo per lo studio).

    Sarei curioso di verificare come hai strutturato la tua demo; potresti per cortesia postarla (ovviamente se non ti torna male) ?

    Grazie ancora

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-07-28T19:33:19+00:00

    ciao Andrea,

    mi sono preso un po' di tempo per capire meglio la faccenda e...forse non ci sono ancora riuscito.

    Bazzicando un po' su internet ho trovato questo :

    https://www.fiscoetasse.com/approfondimenti/12245-proroga-versamenti-unico-2015-slitta-tutto-al-6-luglio.html

    che rispecchia i concetti che hai espresso.

    se così è, se le date di versamento delle imposte variano da anno ad anno non hai bisogno di un cross join per calcolare le combinazioni ma....devi inserirle a mano.

    semmai puoi controllare la data del festivo in fase di popolamento delle date ( la prima volta solamente ) in modo che la data venga spostata in avanti come da altro post, ma una volta inserite quelle restano e le inserisci una volta solo in una tabella dedicata e non caso per caso cliente per cliente.

    per il resto appoggiandosi al  motore del database, per come lo penserei io, riesci ad impostare le scadenze in base al cliente e alle casistiche di pagamento che sempre se ho capito sono :

    tipoPagamento
    1a rata entro il 16 Giugno
    1a rata differita al 18.7.2016
    1a rata entro il 16 Giugno unica soluzione
    1a rata differita al 18.7.2016 unica soluzione
    1a rata entro il 6 luglio
    1a rata entro il 6 luglio unica soluzione
    1a rata differita al 22.08.2016
    1a rata differita al 22.08.2016 unica soluzione

    oltre alla tabella pagamento che riepiloga i pagamenti di cui sopra, necessiti di una tabella per clienti ( ovvio) una per le scadenze ( inserendo quelle del sito sopra pubblicato ),  una per popolare i clienti gli importi e il tipo cliente.

    nella mia demo ho elaborato importi da versare, numero delle rate e i calcoli per gli interessi con una query che estrae e ordina le righe simulando window ranking di SqlServer. Questa si appoggia a subQueries, non essendo presente in access un modo nativo per la numerazione delle righe. Non è performantissimo, ma dovendo estrarre veramente poche righe non muore nessuno ed inoltre eviti in questo modo di numerare le righe nella tabella mantenendo il tutto normalizzato.

    Non serve quindi che memorizzi calcoli ma effettui tutto al volo.

    qualche screenShot ( ai calcoli ho applicato le aliquote del sito):

    Nr indica il numero delle rate, che qui non si vede ma impostandolo visualizzi e mostri solo le rate che hai scelto.

    La maschera è una form con subForm filtrata dalle impostazioni settate nella form principale non la classica master-detials.

    HTH.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento