Condividi tramite

Somma su report

Anonimo
2012-08-18T15:20:11+00:00

In un reporto avrei la necessità di effettuare una somma di alcuni valori . Tali valori provengono da un campo (netto_merce) che a sua volta esegue un calcolo (=([txt_prezzo]*[txt_quantita])*(1-([txt_sconto]/100))) ho provato la solita : Somma([netto_merce]) ma ottengo #Errore . ho pensato che magari potesse essere causato dal fatto che appunto la somma era di una casella senza origine dati da una tabella per cui ho provato pure così : Somma(([txt_prezzo]*[txt_quantita])*(1-([txt_sconto]/100))) ma ottengo il solito #Errore. Il reporto ha un raggruppamento in intestazione pagina per F_nome. Ora non è la prima volta che eseguo una cosa del genere e da altri lavori fatti mi son accorto che ho usato dei sottoreport, probabilmente perchè ottenevo lo stesso errore..

E' possibile risolvere il problema o devo usare il solito sottoreport?

Grazie a tutti in anticipo

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
2012-08-20T10:57:19+00:00

Ora , io non sarò bravissimo in Access ma non capisco ... cosa cambia se faccio fare la somma direttamente all'origine dato o alle caselle (dato che comunque i valori son sempre quelli) ?

 

 

 

Altra cosa , qual'è (ai fini pratici) la differenza tra PiePaginaPagina e PiePaginaReport?

Edit: visto la differenza tra PiePaginaPagina e PiePaginaReport, a me servirebbe che funzionasse su PiePaginaPagina, se possibile

I  dati di imput del report portano i nomi che leggi nell'elenco campi.

e  SOLO  dati  dovrebbero essere  usati.

________

Poi Access e "intelligente" e riesce a capire  

che  il dato X  lo metti  nella casella Y 

e magari nel corpo puoi scrivere  anche Y*2 invece di X*2

Magari anche nel PieDiPaginaReport puoi scrivere Y*2

Ma se scrivi    Somma([Y]) è troppo !!

_________________________________________________

_________________________________________________

_________________________________________________

Relativamente al secondo dubbio,

Il PieDiPaginaPagina   viene usato per 

__numerare le pagine

__Scrivere il nome della azienda

__Eccetera

Non è previsto  ( e sarebbe un errore ) che il totale Generale 

( magari di un report di 100 pagine ) vada in fondo a ogni pagina

ripetuto per 100 volte

Ma se proprio ti serve li allora lo devi calcolare nela Query di origine

e poi quando te lo ritrovi nel (famoso) ElencoCampi

potrai metterlo dove vuoi

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-08-19T21:48:34+00:00

Nella struttura report c'e il pulsante  "ElencoCampi"

Quando lo pigi si apre una finestrina con l'elenco dei campi

utilizzabili in quel report

quindi li tu leggi: ( questo lo desumo dalle formule che citi )

__ txt_prezzo

__ txt_quantita

__ txt_sconto

__ txt_perc_provv

__ tutti gli altri che non ci interessano

è giusto ???

-> No, come ti ho scritto prima txt_prezzo e tutte le altre sono delle caselle di testo che hanno come origine dati (prendo per esempio txt_prezzo)  "prezzo_unitario" e così via

Mi sa che il problema è qui.

Perche nelle formule scrivi  "txt_prezzo"  invece di "prezzo_unitario" ??

__________

Io uso ancora l'intramontabile Access2003

ma sono quasi convinto che nel PirDiPaginaReport

=Somma([txt_prezzo])  ti da #Errore

=Somma([prezzo_unitario])   ti da il valore corretto

_______________________________________________________

_______________________________________________________

_______________________________________________________

Se è cosi devi rifare quelle 2 formule incriminate usando

esclusivamente i nomi che trovi nell' elenco campi.

______________________________________________________

______________________________________________________

Piu in generale  io correggerei tutte le formule usando

solamente  i nomi dell'elenco campi

Hai un'altra possibilita,  Spostare i conti nella Query

( ci lascia l'amaro in bocca per avere fallito sul report )

Ma le query sono oggetti specifici per calcolare

Nella query salvata  che alimenta il report aggiunci li i campi calcolati

__ NettoMerce

__ Provvigiononi

E nel report la somma diventa molto piu semplice

Facci sapere

La risposta è stata utile?

0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-08-19T07:06:46+00:00

    Io non sono un grande esperto ma mi insospettiscono quei 2 nomi:

    __  txt_nettomerce

    __  txtprovvigioni

    Non mi sembrano i nomi che trovi nella Tabella o Query di origine dati

    Invece potrebbero essere i nomi ( che tu hai modificato )  dei campi di origine

    __ nettomerce

    __ provvigioni

    se è cosi il problema è quello,

    ___________________________________________________________

    ___________________________________________________________

    ___________________________________________________________

    Controlla nelle proprieta della tua casella di testo  alla scheda "Tutte"

    i primi 2 valori in alto

    __ Nome elemento

    __ Origine Controllo

    ________________________________________________________

    ________________________________________________________

    ________________________________________________________

    Oppure fai un "esperimento" di pochi minuti

    Crea unnuovo DB

    Crea una nuova tabella con i campi

    ___ Descrizione  __ Testo

    ___ Prezzo    _____ Numerico

    Mettici dentro pochi record

    Crei un Nuovo report sulla tabella

    Mettici dentro ( nel corpo ) queste  3 caselle di testo

    __ (Nome elemento) Descrizione  __ (Origine controllo) Descrizione

    __ (Nome elemento) Prezzo       __ (Origine controllo) Prezzo

    __ (Nome elemento) TxtPrezzo2   __ (Origine controllo) =[Prezzo]*2

    Fino a qiu funziona tutto bene

    ______________________________________________________

    ______________________________________________________

    ______________________________________________________

    Adesso nel PieDiPaginaReport mettici 2 caselle di testo

    __ (Nome elemento) Cas1  __ (Origine controllo) =Somma([Prezzo]*2)

    __ (Nome elemento) Cas2  __ (Origine controllo) =Somma([TxtPrezzo2])

    Vedrai che

    __ la prima funziona bene 

    __ mentre la seconda  ti chiede    TxtPrezzo2

    ________________________________________________

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-08-18T23:02:17+00:00

    Scusami ma forse non ho ben capito. Ho inserito le formule che avevo messo nel primo post  (che ovviamente erano con il = davanti) sulla sezione nell' intestazione/PieDiPagina Report ma a quel punto mi chiede [txt_nettomerce] e txtprovvigioni

    Correggimi se sbagli ma le formule messa da me sono identiche , no?

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-08-18T20:28:08+00:00

    Si puo fare senza sottoreport

    _______________________________________________________________

    Io per essere sicuro scriverei :

    =Somma(([txt_prezzo]*[txt_quantita])*(1-([txt_sconto]/100)))

    ______________________

    ma non escludo che funziona anche :

    =Somma([netto_merce])

    ______________________

    Ricordati di mettere sempre "=" prima delle formule

    ( ma il tuo problema direi che non è quello )

    ______________________________________________________________

    ______________________________________________________________

    ______________________________________________________________

    La formula dove la scrivi ???

    __ nel corpo          ( ti restituisce il Gran totale )

    __ nella intestazione/PieDiPagina Pagina  ( Ti restituisce #Errore )  <<--------

    __ nella intestazione/PieDiPagina Report  ( ti restituisce il Gran Totale )

    __ nella intestazione/PieDiPagina Gruppo  ( ti restituisce i singoli totali parziali )

    ________________________________________________________________

    per abilitare la Intestazione/PieDiPagina Gruppo  klicca sul

    pulsante    "Ordinamento e  raggruppamento"

    Facci sapere

    La risposta è stata utile?

    0 commenti Nessun commento