Condividi tramite

Campo calcolato.

Anonimo
2012-01-15T17:22:53+00:00

Salve a tutti,

    ho creato un db per la gestione delle fatture. Sulla Maschera fatture c'è una sottomaschera Dettaglio. Sulla maschera fatture ho inserito un campo calcolato che somma i valori di un campo della sottomaschera Dettaglio se il valore di un altro campo sempre della sottomaschera ha un certo valore. In parole povere devo sommare gli importi dei record per i quali per esempio l' Iva è al 4%.

Nel campo calcolato ho inserito:

=IIf(Maschere!SMQTDettagli!Iva=1;Somma(Maschere!SMQTDettagli!Testo26);"")

Mi da però errore. Dove sbaglio? Vi dico anche che Testo26 è un campo calcolato =[Quantità]*[PrezzoUnitario]-([Quantità]*[PrezzoUnitario]*[Sconto])

Grazie 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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2012-01-17T17:00:39+00:00

    Ciao,

      in entrambi i casi funziona perfettamente....o sono io che con l' età perdo colpi (forse ho errato qualcosa prima) oppure è un mistero xchè per fare questa cavolata ho impiegato tempo....

    Ciao e grazie!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-01-17T08:49:49+00:00

    Ciao Flavio,

    ho fatto alcune prove e nel seguente modo ottengo il risultato voluto (spero):

    nella sottomaschera nel corpo aggiungi una colonna non visibile contenente

          CampoX  =  IIf([Iva]=1;[Quantità]*[PrezzoUnitario]-([Quantità]*[PrezzoUnitario]*[Sconto];0)

    o in alternativa, la nuova colonna, potresti generarla nella query origine della sottomaschera.

    nella sottomaschera imposti nell'intestazione o nel piè di pagina non visibile:

          SommaCampoX = Somma([CampoX])

    nella maschera principale riporti Testo91 = [SMQTDettagli]![SommaCampoX ]

    Spero che risolva il tuo problema.

    Per mia curiosità: è giusto che righe della stessa fattura possano presentare Iva diversa?

    Penso che la via più diretta resti comunque:

    Nella maschera principale Testo91= IIf(SMQTDettagli!Iva=1;

    DSum("[Quantità]*[PrezzoUnitario]-([Quantità]*[PrezzoUnitario]*[Sconto]"; "QTDettagli";

    "Fattura_Id="  & forms.MQTFatture.Fattura_Id);"")

    Ciao Mimmo.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-01-16T22:18:08+00:00

    Purtroppo non mi funziona...

    La maschera principale si chiama MQTFatture (origine da query che si chiama QTFatture che si basa sulla tabella TFatture)

    La sottomaschera si chiama SMQTDettagli (origine SELECT QTDettagli.Id_Dettaglio, QTDettagli.Id_Fattura, QTDettagli.Id_Articolo, QTDettagli.Descrizione, QTDettagli.Quantità, QTDettagli.Sconto, QTDettagli.PrezzoUnitario, QTDettagli.Iva, QTDettagli.UnitMisura FROM QTDettagli; la tabella si chiama TDettagli

    Sulla sottomaschera c' è un controllo che si chiama Testo26 =[Quantità]*[PrezzoUnitario]-([Quantità]*[PrezzoUnitario]*[Sconto])

    Sempre sulla sottomaschera c'è una casella combinata che si chiama Iva

    Sulla maschera principale c' è un controllo che si chiama Testo91 ed io avevo messo =IIf([Maschere]![SMQTDettagli]![Iva]=1;Somma([Maschere]![SMQTDettagli]![Testo26]);"")

    Access però nel controolo mi scrive #Nome?

    Allora come mi avevi suggerito ho scritto

    =IIf([Maschere].[MQTFatture].[Form].[SMQTDettagli]![Iva]=1;Somma([Maschere]![SMQTDettagli]![Testo26]);"")

    Access però mi scrive #Errore

    Io non riesco a capire xchè non funziona...mi sembra impossibile!

    Attendo una Tua gentile risposta. Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-01-16T14:21:18+00:00

    Ciao Flavio,

    in alternativa ti suggerirei di utilizzare :

    =IIf(Maschere.frmMain.SMQTDettagli!Iva=1;

    DSum("[Quantità]*[PrezzoUnitario]-([Quantità]*[PrezzoUnitario]*[Sconto]","nomeTabellaDettaglio","NumeroFattura=" &_

    forms.frmFatture.nFattura),"")

    Ciao Mimmo.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2012-01-16T08:22:36+00:00

    Ciao Flavio,

    mi sembra non valido il riferimento che fai ai campi della sottomaschera:

    Maschere!SMQTDettagli!Iva=1

    Forms.frmFatture.form.frmDettaglio!Iva

    Ciao Mimmo.

    La risposta è stata utile?

    0 commenti Nessun commento