Newsgroup: it.comp.appl.access
Titolo: Ripartizione per mese

Ciao a tutti,
ho creato questa semplice tabella
con access xp
"tbl.Lavori"----------------------------------------------------
    ID | Descrizione | Importo | DataInizio | DataFine |
----------------------------------------------------------------
   1 | lavorazione1 | 23 euro | 03/12/02 | 20/12/02 |
   2 | lavorazione2 | 32 euro | 15/12/02 | 15/01/03 |
   3 | lavorazione3 | 173 euro | 12/01/03 | 03/07/03 |
( per comodità gli importi sono direttamente proporzionati al n° dei gg
effettivi, compreso quello di inizio )
Vorrei ottenere in automatico, una "tabellaImporti", avente come nome dei
campi i nomi dei mesi compresi fra le date inizio e fine di tutte le
lavorazioni ,e, sotto di essi, gli importi ripartiti in proporzione ai
giorni effettivi di calendario trascorsi , nel mese.
"tbl.Importi"---------------------------------------------------
    ID |dic02 |gen03 |feb03 |mar03 |apr03 |mag03 |giu03 |lug03|
----------------------------------------------------------------
   1 | 23 | | | | | | | |
   2 | 17 | 15 | | | | | | |
   3 | | 20 | 28 | 31 | 30 | 31 | 30 | 3 |
e poi la somma finale di ogni campo, (magari su maschera)
"frm.Somma"-----------------------------------------------------
    ID |dic02 |gen03 |feb03 |mar03 |apr03 |mag03 |giu03 |lug03|
----------------------------------------------------------------
somma | 40 | 35 | 28 | 31 | 30 | 31 | 30 | 3 |
Grazie,per ogni eventuale risposta.
Ciao,
Flo.
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:151Z30Z211Z112Y...@usenet.libero.it...

Ho la sensazione che questa cosa sia fattibile solo tramite programmazione.
Una funzione che ti crei una tabella d'appoggio fatta come la vuoi tu
calcolando il numero di giorni per ogniu intervallo, vedendo quante volte si
cambia mese e schiaffando il valore ripartito sotto ciascun mese a seconda
del numero di giorni.
Antonio


Ciao a tutti
Esiste una funzione in Access che svolga le stesse operazioni della funzione
FINE.MESE di Excel ?
e una per la funzione 
SOMMA.SE
 ?
oppure... qualcuno puņ aiutarmi con un esempio di codice in riferimento ai
dati della tabella del messaggio di origine?
Grazie per l'ennesima disponibilitą


 e una per la funzione 
SOMMA.SE
 ?
c'è la iif in un campo calcolato su cui applichi la somma
Non cercare di riportare pari pari in access quello che fai con excel
comunque...
Antonio

> Ho la sensazione che questa cosa sia fattibile solo tramite
programmazione.
Qualcosina così ??
Function CreaTabella()
Dim db As DAO.Database
Dim rc As DAO.Recordset
Dim qd As DAO.QueryDef
Dim st As String
Dim matr() As Variant
Dim DateDiffer As Integer
Dim ValoreGiorno As Double
Dim CurGiorno As Date
On Error GoTo error_exit
Set db = CurrentDb
Set rc = db.OpenRecordset("SELECT * FROM TABELLA_VALORI ORDER BY
DataInizio")
On Error Resume Next: db.Execute ("DROP TABLE tmpTABLE")
st = "CREATE TABLE tmpTABLE(" & _
            "ID_tmp AUTOINCREMENT NOT NULL, " & _
            "DESCRIZIONE TEXT(50), " & _
            "GIORNO DATE, " & _
            "VALORE NUMERIC) "
db.Execute (st)
Do While Not rc.EOF
    CurGiorno = rc!DataInizio
    DateDiffer = DateDiff("d", rc!DataInizio, rc!DataFine)
    ValoreGiorno = rc!Importo / DateDiffer
        For i = 0 To DateDiffer
            st = "INSERT INTO tmpTABLE(DESCRIZIONE, GIORNO, VALORE) " & _
                    "VALUES('" & _
                    rc!Descrizione & "','" & CurGiorno + i & _
                    "','" & ValoreGiorno & "')"
            db.Execute (st)
        Next i
rc.MoveNext
Loop
st = "TRANSFORM Sum(tmpTABLE.VALORE) AS SommaDiVALORE " & _
     "SELECT tmpTABLE.DESCRIZIONE, Sum(tmpTABLE.VALORE) AS [Totale di
VALORE] " & _
     "FROM tmpTABLE GROUP BY tmpTABLE.DESCRIZIONE " & _
     "PIVOT Format([GIORNO], ""mmm"") In " & _
     "(""gen"",""feb"",""mar"", " & _
     """apr"",""mag"",""giu"", " & _
     """lug"",""ago"",""set"", " & _
     """ott"",""nov"",""dic""); "
Set qd = db.CreateQueryDef("qTable", st)
Exit Function
error_exit:
        MsgBox Err.Description
        Exit Function
End Function

> Dim matr() As Variant
...e questo cos'è un infiltrato ?? Cancellare subito !!!