Report

di il
19 risposte

19 Risposte - Pagina 2

  • Re: Report

    Se il DSUM è nel Report... chiaramente la maschera [Intervallo date report] deve essere aperta sempre al momento del calcolo DSum, poi personalmente userei le PARENTESI in modo più mirato...!
    =DSum("Importo";"Rimborso";"(Data Between [forms]![Intervallo date report]![DataInizio] and [forms]![Intervallo date report]![DataFine]) And TipoS='Vitto'")
    Il rischio è che l'ultimo criterio venisse letto in AND con la data Fine..., così dovrebbe essere corretto.

    P.S. avevo sbagliato la PRIMA PARENTESI ... ora è corretto.
  • Re: Report

    Il report è ok.
    Adesso io ho inserito sul campo cognome, dentro la query, il comando Like.
    Quindi il mio report e per data e per cognome, ma con il comando dsum lui mi fa la somma per tipo di "vitto", ma la somma è il totale di tutto il "vitto" dalla data alla data e non solo del cognome inserito.
    Mi spiego:
    tizio vitto € 15,00 12.01.2014
    Caio vitto € 10,00 12.01.2014

    Report
    ricerca data: dal 01.01.2014 al 31.01.2014 Cognome:Tizio
    Vitto= €25,00

    invece deve essere:
    Vitto=€15,00

    Grazie
  • Re: Report

    Secondo me stai commettendo diversi errori anche di spiegazione delle esigenze, e forse ti abbiamo mal suggerito.

    In sostanza ora evidenzi l'esigenza di 3 Criteri per il calcolo:
    
    1° TipoS='Vitto'
    2° Data Da<--->a
    3° Cognome='Tizio'
    Ora ne consegue che nel DSUM dovresti avere tutti e 3 i criteri in AND logico per ottenere la somma corretta e coerente.
    Fai attenzione tuttavia che COGNOME non è UNIVOCO quindi il rischio è ottenere una somma di tutti i "BIANCHI" e non solo di PAOLO BIANCHI... per capirci...!
    Di norma i riferimenti da usare sono le CHIAVI PRIMARIE e non campi Duplicabili.

    Detto ciò se il tuo Report ha già l'origine dati coerente, potresti generare un calcolo di SOMMA nell'Evento Format del Corpo.
    Questo Evento si genera ad OGNI record, quindi se memorizzi il dato in Somma in modo permanente, alla fine otterrai la Somma dei Totali del Campo interessato senza preoccuparti dei CRITERI, in quanto quelli sono già inseriti a livello di Query.

    Ora se inserisci una TextBox chiamandola [txtSomma] in una sezione Riepilogativa del Report, magari un PieDiPagina... la potrai aggiornare in modalità esecutiva ottenendo la somma completa e corretta
    
    Option Compare Database
    Option Explicit
    
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
        Me!txtSomma.Value = Me!txtSomma.Value + Me!CampoDaSommare.Value
    End Sub
  • Re: Report

    Scusami @Alex, forse non hai letto prima il mio messaggio
    Con quel comando (ricerca per vitto e per data) funziona tutto ok, adesso mi volevo complicare di più la vita inserisco nella query, oltre al criterio di ricerca tra data inizio e data fine, nel campo cognome il criterio di ricerca Like [Cognome] & "*"
    Come mi avevi suggerito tu di inserire tutti i criteri su Dsum, il comando Like dove lo posso inserire:
    =DSum("Importo";"Rimborso";"(Data Between [forms]![Intervallo date report]![DataInizio] and [forms]![Intervallo date report]![DataFine]) And TipoS='Vitto'")
    Oppure questo non si può fare?
    Grazie come sempre
  • Re: Report

    Ho letto bene il tuo esposto, ma credo ci stiamo confondendo...!

    Se il tuo intento è FILTRARE il REPORT inserendo nella Query Origine un ulteriore criterio ovvero il Cognome devi aprire il Generatore QueryBuilder ed aggiungere il Riferimento al Cognome.
    In questo caso il tuo Report esporrà SOLO i dati Filtrati, ed a quel punto la tua Domanda non avrebbe senso, nemmeno il suggerimento del DSUM lo avrebbe più.

    Ne consegue che ho interpretato tu avessi un Report basato su MOLTI COGNOMI dei quali volessi avere i SUBTOTALI e per farlo hai pensato al DSUM.

    In tal caso, se ruileggi bene quello che ti ho suggerito è molto chiaro, e l'uso del DSUM non va bene, ed è sbagliata anche la gestione del REPORT che potrebbe prevedere il Raggruppamento per Cognome agevolando in tal senso il SubTotale.

    Se poi vuoi fare esperimenti chiariamolo subito che evitiamo di affrontare tecnicamente tutto il problema ma ci concentriamo sull'uso del DSUM e sulla Concatenazione dei criteri.

    Ora porta pazienza, ma non voglio aggiungere confusione a confusione, ti invito quindi a rileggere BENE la mia risposta e di conseguenza chiarirci in modo completo lo scenario.
Devi accedere o registrarti per scrivere nel forum
19 risposte