ACCESS: mesi durata contratto

Anonimo
2014-10-22T15:53:52+00:00

Buona serata.

Maschera di inserimento che alimenta una tabella nella quale vengono inseriti (tra l'altro) un importo (canone annuale) e la data inizio e fine (formato gg/mm/aaaa) di un determinato contratto.

Con una Query vorrei (se possibile) generare tanti record quanti sono i mesi di durata del contratto; esempio: contratto XXX inizio 01/01/2014 fine 31/12/2015, canone annuale Euro 12.000: la formula dovrebbe creare 24 record con: gennaio 2014 = 1.000; febbraio 2014 = 1.000 .......; dicembre 2015 = 1.000.

Ci sto girando intorno e per ora sono riuscito solamente a calcolare il numero dei mesi di durata e l'importo di ciascun mese: non è un granché vero ?

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

2 risposte

Ordina per: Più utili
  1. Anonimo
    2014-10-23T06:32:22+00:00

    Innanzitutto ti ringrazio per la velocità della risposta.

    Il mio livello è limitato a elementari nozioni base di Access e sono completamente digiuno di VBA; ti chiederei pertanto, se hai la voglia e la pazienza necessaria, di guidarmi.

    Ti riepilogo i dati della Query (basata sulla tabella di immissione dati):

    • [ID_elenco clienti]
    • [ID_Conduttori]
    • [quota proprietà]
    • [immobile numero]
    • [data inizio contratto]
    • [data fine contratto]
    • [proroga al]
    • [data cessazione]
    • [canone annuale]
    • [canone mensile] = canone annuale]/12
    • [numero mesi] = IIf(IsNull([Proroga al]);(DateDiff("m";[Data inizio contratto];[Data fine contratto])+1);(DateDiff("m";[data inizio contratto];[Proroga al])+1))

    L'obiettivo è quello di ottenere una Query che, per ogni singolo contratto immesso, crei tanti record quanti sono i mesi di durata del contratto, salvo i casi di risoluzione anticipata del contratto stesso evidenziata nel campo [data cessazione]. In questo modo per ogni cliente, a fine anno, ho la situazione dei redditi da affitto aggiornata.

    Ti ringrazio infinitamente e ti auguro buona giornata.

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-10-22T16:21:05+00:00

    Ciao Andrea,

    con una sola query non puoi riuscirci, devi usare un po' di VBA.

    Visto che il numero dei mesi e l'importo di ciascun mese li hai già calcolati ti basta qualcosa del tipo:

    Dim calcolati AS String

    Dim DataToInsert as Date

    DataToInsert = DataInizioContratto

    For i = 1 to NumeroMesi

    Calcolati = Month(DataToInsert)  & ", " & Importo & ", " & Year(dataToInsert)

    DoCmd.Execute "Insert Into  TAbMesi (Mese, Importo, Anno) VALUES ( " & calcolati & ")"

    DataToInsert = DateAdd(DataToInsert, "mm", 1)

    next

    Considera che non l'ho scritto a braccio e non testato per cui ci  sarà sicuramente qualcosa da aggiustare, era giusto per darti un'idea!

    La risposta è stata utile?

    0 commenti Nessun commento