Condividi tramite

[Access] Reports con somma campi ore

Anonimo
2010-01-12T12:56:42+00:00

Ciaooo Giorgio...!!

... eccomi di nuovo per chiederti aiuto riguarda un report collegato sempre ad uno dei miei thread precedenti..!

Ho realizzato un report , che trae origine da una query di selezione, che riguarda l'archivio dei permessi , naturalmente con campi date , e campi ore..!! Nel codice della  struttura del report ho inserito la funzione da te insegnatomi,  e cioè:

Function SommaOreRientri(ByVal ID As Variant) As Variant

    Dim Tot_Seconti As Long

    Dim Rs_Rientri As DAO.Recordset

    If IsNull(ID) Or Me.RecordsetClone.RecordCount = 0 Then

       Exit Function

    End If

    Set Rs_Rientri = Me.RecordsetClone

    Rs_Rientri.MoveFirst

    Do Until Rs_Rientri.EOF

       If Rs_Rientri!id_pianificata <= ID Then

          Tot_Seconti = Tot_Seconti + DateDiff("S", Rs_Rientri!orario_iniziale, Rs_Rientri!orario_finale)

       Else

          Exit Do

       End If

       Rs_Rientri.MoveNext

    Loop

    SommaOreRientri = fn_OraEstesa(Tot_Seconti)

End Function

Successivamente ho inserito  nella struttura del report , una casella di testo per avere i totali delle ore,  con origine :

=SommaOreRientri ([Id_pianificata])

Perchè quando lancio il report mi esce errore "Errore di compilazione - Impossibile trovare il metodo o il membro dei dati" e quindi si blocca nell'editor del VB sulla riga :

If IsNull(ID) Or Me.RecordsetClone.RecordCount = 0 Then

Forse questa funzione non va bene per i reports , ma solo per le forms.?? ?

Grazie e ciaooo per ora...

Francesco Laroccia

Microsoft 365 e Office | Accesso | 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

  1. Anonimo
    2010-01-13T16:45:10+00:00

    Ciao Franco,

    la funzione SommaOreRientri va bene solo per le maschere, quindi toglila dal report.

    Per i report la cosa è più semplice, inserisci nella sezione corpo una casella testo di nome OreProgressive

    metti nell'origine controllo =DateDiff("S";[orario_iniziale];[orario_finale])

    metti nella proprietà "Visibile" No 

    metti nella proprietà "Somma Parziale" Su tutto

    Inserisci una seconda casella testo e nell'origine controllo metti =fn_OraEstesa([OreProgressive])

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-01-14T07:46:00+00:00

    Ciaoo Giorgio;

    ...si tutto risolto!!.... come al solito errore di digitazione del nome casella di testo..!! Hi..!!

    Ciaooo Giorgio buona giornata...e grazie..!!

    Franco Laroccia

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-01-13T20:50:03+00:00

    Ciaoo Giorgio...

    ..ho fatto come hai detto tu, ma c'è qualcosa che non va: ho tolto la  funzione SommaOreRientri ed ho creato nel corpo una casella testo di nome OreProgressive mettendo come origine controllo

    =DateDiff("S";[orario_iniziale];[orario_finale])

    "Visibile" = no"Somma parziale" = su tutto

    poi ho creato una seconda casella con origine

    =fn_OraEstesa([OreProgressive])

    perchè quando lancio il report mi chiede di immettere il valore parametro OreProgressive . .??

    Grazie

    Franco Laroccia

    La risposta è stata utile?

    0 commenti Nessun commento