Impossibile calcolare somma record in maschera

di fabionik2004 il
19 risposte

Ciao a tutti, ho una maschera con diversi record, e per ogni record ho un campo calcolato txtIVA, che in pratica prende il prezzo del prodotto e lo moltiplica per la sua iva.

Adesso vorrei avere una textbox con il totale  dell'iva, che mi sembra un'operazione abbastanza semplice, ma sto diventando matto, la textbox mi da sempre errore.

ho provato di tutto, normalmente  questo dovrebbe bastare

=Somma([txtIVA]) 

19 Risposte

  • I Campi sono numerici, non ci sono campi vuoti, non capisco l'errore

  • Spiega meglio... per ottenere l'importo con Iva basta realizzare nella Query un campo calcolato (Prezzo×IVA) AS PrezzoIVA, oppure un controllo con ControlSource calcolata sempre come sopra.

    Per la Somma invece devi essere in modalità Maschere continue e mettere la TextBox nel pie di pagina Maschera... se lo fai in maschere singole non può andare... in questo caso devi spiegare meglio cosa vuoi ottenere, potrebbe bastare un DSUM(....)

  • Si esatto, ho messo la textbox nel pie di pagina, e si tratta di maschere continue. voglio avere nel pie di pagina la somma dei campi, ma mi da errore

  • Usa una sql...

    Select id, sum(campoa*campob) from tabella where id= [parametro]

    Magari fai pure il riepilogo iva...

    Iva 4%  10.00

    Iva 5% .   3.80

    Iva 22%   1.90

    Totale.    12,70 iva debito (o credito a seconda dei casi)

  • 16/02/2025 - sihsandrea ha scritto:

    Usa una sql...

    Select id, sum(campoa*campob) from tabella where id= [parametro]

    Magari fai pure il riepilogo iva...

    Iva 4%  10.00

    Iva 5% .   3.80

    Iva 22%   1.90

    Totale.    12,70 iva debito (o credito a seconda dei casi)

    Non ho capito, come faccio a mettere nell'origine controllo di una textbox, un comando sql select?

  • Usa una query... È (quasi) la stessa cosa.

    Il campo calcolato lo tiri fuori direttamente dalla query.

    Se vuoi ne fai un'altra raggruppando per codice iva...

  • 16/02/2025 - fabionik2004 ha scritto:

    Si esatto, ho messo la textbox nel pie di pagina, e si tratta di maschere continue. voglio avere nel pie di pagina la somma dei campi, ma mi da errore

    Eviterei la funzione di Aggregazione nella Query, il SUM per capirci, la rallenta e la rende ReadOnly.

    Userei il controllo nel PièDiPagina, se metti una TextBox che chiameremo (txtTotalePrezzi) con OrigineControllo:

    =Somma([TextBoxControlloPrezzo])

    Otterrai la somma dei prezzi, quindi il Totale, se nel corpo della maschera generi una TextBox Calcolata con il valore dell'IVA:

    =[TextBoxControlloPrezzo]*[txtIVA]	' Questa textBox la chiameremo txtValoreIVA

    Ora nella maschera continua hai per ogni Record il valore dell'IVA, quindi nel pièdiPagina metti una txtBox che chiamerai [txtTotaliIVA]

    =Somma([txtValoreIVA])
  • 16/02/2025 - sihsandrea ha scritto:

    Usa una query... È (quasi) la stessa cosa.

    Quasi... io eviterei.

    Il campo calcolato lo tiri fuori direttamente dalla query.

    Efficienza delle Query bassissima... sicuramente il campo IVA non sarà indicizzato... la query diventa ReadOnly, ha un senso...?

    Meglio il campo calcolato nella Form.

    Se vuoi ne fai un'altra raggruppando per codice iva...

    E poi nella Form come la usa...? A quel punto meglio usare un DSUM... ma la SOMMA nella Form funziona senza problemi.

  • 17/02/2025 - @Alex ha scritto:

    16/02/2025 - fabionik2004 ha scritto:

    Si esatto, ho messo la textbox nel pie di pagina, e si tratta di maschere continue. voglio avere nel pie di pagina la somma dei campi, ma mi da errore

    Eviterei la funzione di Aggregazione nella Query, il SUM per capirci, la rallenta e la rende ReadOnly.

    Userei il controllo nel PièDiPagina, se metti una TextBox che chiameremo (txtTotalePrezzi) con OrigineControllo:

    =Somma([TextBoxControlloPrezzo])

    Otterrai la somma dei prezzi, quindi il Totale, se nel corpo della maschera generi una TextBox Calcolata con il valore dell'IVA:

    =[TextBoxControlloPrezzo]*[txtIVA]	' Questa textBox la chiameremo txtValoreIVA

    Ora nella maschera continua hai per ogni Record il valore dell'IVA, quindi nel pièdiPagina metti una txtBox che chiamerai [txtTotaliIVA]

    =Somma([txtValoreIVA])

    Niente, nella textbox del pie di pagina mi da errore, non riesco a spiegarmelo. 

  • Prova a postare un file di esempio per poter controllare direttamente che cosa accade.

  • Ecco ho creato nu piccolo db di test

    https://www.dropbox.com/scl/fi/fd36xsfcbry6h8g865p07/DatabaseTest.zip?rlkey=79jykfck5xmwtbbbnjqdrw9fs&st=dd0slvrb&dl=0

Devi accedere o registrarti per scrivere nel forum
19 risposte