SOMMA DI CAMPI CONDIZIONATA

di il
12 risposte

SOMMA DI CAMPI CONDIZIONATA

Buonasera,
ho necessità di creare un campo che sia la somma di un campo (che varia in base a ciascun record)
Per essere più preciso vi incollo il codice:
=SOMMA[Sottomaschera QRY Stato 2 x STP].[CAPSOC];IIf([Sottomaschera QRY Stato 2 x STP].[DESCRIZIONE FT]='FACOLTA DI SCOPERTO' OR 'ANTICIPO FATTURE'
Gli vorrei dire di farmi la somma del campo CAPSOC, contenuto nella "Sottomaschera QRY Stato 2 x STP" SE nel campo DESCRIZIONE FT è contenuto il testo FACOLTA DI SCOPERTO o ANTICIPO FATTURE

Il campo descrizione FT e il campo CAPSOC appartengono allo stesso record

12 Risposte

  • Re: SOMMA DI CAMPI CONDIZIONATA

    Ho anche provato :
    =DSum("[Sottomaschera QRY Stato 2 x STP]..Scheda![CAPSOC]";"Sottomaschera QRY Stato 2 x STP";"[DESCRIZIONE FT]='FACOLTA DI SCOPERTO' or 'ANTICIPO FATTURE'")
    senza esito
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Ragazzi Nessuno che mi sa dare una mano?
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Non è proprio il mio terreno favorevole. Provo a dire qualcosa.
    Io ragionerei a piccoli passi. Purtroppo SQL non è il mio forte, quindi userei preferibilmente la visualizzazione struttura query.
    1. Metti i campi che ti servono nella query, quindi al Criterio di [Descrizione FT] scrivi
    "FACOLTA DI SCOPERTO" Or "ANTICIPO FATTURE"
    oppure
    Like "FACOLTA DI SCOPERTO" Or "ANTICIPO FATTURE"
    2. Per filtrare i record della sottomaschera, avrai certamente un campo ID nella maschera principale che governa la sottomaschera, quindi nel campo ID (non ci dici come si chiama), dovresti scrivere il criterio
    [Maschere]![NomeMascheraPrincipale]![CampoID]
    3. Clicca in alto sul tasto Totali e apparirà nella griglia la riga Formula. In corrispondenza del campo CAPSOC selezioni Somma.
    4. Esegui la query.
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Purtroppo non ho ben compreso quanto mi hai scritto.
    Il Campo DESCRIZIONEFT può avere vari valori dentro FACOLTA DI SCOPERTO o ANTICIPO FATTURE o MUTUO CHIROGRAFARIO o MUTUO IPOTECARIO
    La Somma nella casella di controllo deve essere fatta per tre MACRO AREE : Finanziamenti Chirografari - Affidamenti a Breve - Finanziamenti Ipotecari.
    Nella maschera "MSC STATO 2" mi trovo tra le tante TRE caselle di controllo: "Fin Cap Soc" (che fa riferimento alla Macro Area Finanziamenti Chirografari - "Fid Cap Soc" che fa riferimento alla Macro AREA Affidamenti a BREVE - "Ipo CAP Soc" che fa riferimento alla terza Macro Area di Finanziamenti Ipotecari.
    Mettiamo caso che una ditta abbia tre linee di credito : Facolta' di scoperto, Anticipo Fatture e Mutuo Chirografario.
    La facoltà di scoperto e l'anticipo fatture fanno parte della Macro Area Affidamenti a Breve, mentre il Mutuo Chirografario fa parte della Macro Area Finanziamenti Chirografari.
    La ditta sopporterà dei costi distinti per le due linee di credito. Quindi sopporterà Es 1000 euro per il CAPSOC della Facoltà di Scoperto ed 500 euro per il CAPSOC dell'anticipo fatture e ad esempio 4000 euro per il CAPSOC del Mutuo chirografario.

    Ora nella Maschera "MSC Stato 2" la casella di controllo Fin Cap Soc (quella della macro area del mutuo chirografario) mi deve sommare SOLO i campi CAPSOC che hanno come campo DESCRIZIONEFT il valore MUTUO CHIROGRAFARIO, mentre la casella di controllo Fid Cap Soc deve sommarmi SOLO i campi CAPSOC che hanno come capo DESCRIZIONEFT il valore FACOLTA DI SCOPERTO o ANTICIPO FATTURE e quindi farmi vedere 1.500 euro.


    NON HO UN CAMPO ID che governa nulla.
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Io non ho capito nulla del tuo database. Ci sono troppi termini tecnici del tuo campo professionale che io non posso conoscere.
    Dovresti mostrare tutte le tabelle che entrano in gioco:
    - nomi tabelle e nomi campi
    - indicazioni delle chiavi primarie
    - le relazioni
    - nomi propri delle tue query e da quali tabelle/campi sono formate
    - nomi propri di maschere e sottomaschere
    - rispiegare tutto usando i nomi propri

    Per i primi tre punti potresti anche solo mostrare la Finestra Relazioni.
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Allora…
    Nome Tabella: Tabella Principale
    Chiavi Primarie: Nessuna
    Relazioni: Nessuna
    Query: Nessuna Viene tutto governato dalla TABELLA PRINCIPALE
    Maschere:
    - MSC Stato 2 (Origine record TABELLA PRINCIPALE)
    - Sottomaschera QRY Stato 2 x STP (Origine record Tabella Principale) questa sotto maschera sta dentro la maschera MSC Stato 2.

    I campi della Sottomaschera sono :
    DESCRIZIONEFT
    IMPFINANZIATO
    DATASCADENZA
    CAPSOC

    ho risposto a tutto… ma ho la sensazione che ti devo inviare il file per tu capire al meglio cosa intendo fare.
  • Re: SOMMA DI CAMPI CONDIZIONATA

    https://drive.google.com/open?id=1vn3gr2ov9u9SfNEWeNPX0JBY8YajYAk8

    Ecco il file. Così forse ci si capisce meglio.
    Se lo apri entra nella maschera Stampa Contratti. e da li comprenderai cosa voglio fare.
    ti troverai una griglia nella maschera con tre voci a sinistra FINANZIAMENTI CHIROGRAFARI - AFFIDAMENTI A BREVE - IPOTECARI e a destra le voci di costo.
    Sotto ti trovi la sotto maschera con le linee di credito per ciascuna ditta indicata sopra.
    Nella stessa sotto maschera ti troverai pure le voci di costo che dovrei poi compilare a mano per ciascun record.
    Se vedi per la ditta ALEO FELICE (cercala) ti troverai 2 record nella sottomaschera.
    Una facoltà di scoperto e un Mutuo chirografario e a destra di questi record il campo CAPSOC che devo compilare a mano.
    Sopra… nella maschera MSC Stato 2 nella griglia il valore CAPSOC contenuto nel MUTUO CHIRIGRAFARIO devo farlo apparire nella cella corrispondente a "Finanziamenti Chirografari e Leasing Strumentali" -> "Quota Integr. Cap. Sociale* "
    Mentre il valore CAPSOC contenuto nella FACOLTA DI SCOPERTO devo farlo apparire nella cella della griglia "Affidamenti a Breve" -> "Quota Integr. Cap. Sociale* "

    Immagino che la SOMMA CONDIZIONATA vada messa come origine della casella di controllo della griglia.
  • Re: SOMMA DI CAMPI CONDIZIONATA

    È impossibile portare avanti qualsiasi idea di fronte al tuo scenario tabelle. In Access un database deve essere strutturato (quasi sempre) su più tabelle ben relazionate (si dice NORMALIZZATE). Ho la forte sensazione che tu ragioni troppo "alla Excel" maniera, mentre Access (e i database) si costruiscono con tutt'altra logica.
    Leggi qui
    https://support.office.com/it-it/article/utilizzare-access-o-excel-per-gestire-i-dati-09576147-47d1-4c6f-9312-e825227fcaea
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Hai sicuramente ragione.
    Hai aperto il File del Link?
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Ho provato a creare una Query con 2 campi :
    - DESCRIZIONEFT con i criteri FACOLTA' DI SCOPERTO or ANTICIPO FATTURE
    - CAPSOC

    E HO FATTO raggruppamento E COME FORMULA sotto capsoc ho messo Somma.
    La query funziona perché mi filtra solo quelli con FACOLTA' DI SCOPERTO o ANTICIPO FATTURE.
    E LA QUERY l'ho chiamata QRYPROVASOMMA
    La Maschera MSC Stato 2 ora fa capo ad una query generata nella quale è presente la tabella TABELLA PRINCIPALE e la query QUERYPROVASOMMA.
    Nella query generata ho inserito tutti i campi della Tabella Principale e tutti i Campi della QUERYPROVASOMMA compreso quindi anche CAPSOC di QUERYPROVASOMMA che ha come formula della query SOMMA.

    La casella di controllo dove voglio fare apparire la somma di CAPSOC l'ho fatta puntare a =[QRYPROVASOMMA]![CAPSOC] ma nonostante la query mi funzioni in visualizzazione la casella di controllo mi risponde #Nome?

    Perché?
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Ciao,
    forse sono arrivato alla conclusione e su questo ho bisogno di una mano tua.
    La Query che ho creato funziona IN PARTE e l'ho fatta per raggruppamento. Dove però il campo CAPSOC ha la formula Somma.
    La query ha tre campi INTEST (Raggruppamento e Criterio dove si prende il nominativo relativo dalla maschera MSC Stato 2 [Forms]![MSC Stato 2]![INTEST])

    poi ha il campo CAPSOC come somma e poi DESCRIZIONEFT come raggruppamento e il criterio "FACOLTA' DI SCOPERTO" Or "ANTICIPO FATTURE"
    Tutto ok tranne per una cosa.
    Mettiamo caso che ho una ditta che ha 3 linee di credito e i relativi importi di CAPSOC:
    ANTICIPO FATTURE di cui CAPSOC è 700 €
    Un'altra linea di ANTICIPO FATTURE di cui il capsoc è 100 €
    e una FACOLTA' DI SCOPERTO di cui il capsoc è di 50 €.

    Lanciando la query non mi viene fuori la somma di 850 euro ma mi viene fuori la somma di 800 € della DESCRIZIONEFT Anticipo Fatture e un altro record con la somma di 50€ della facoltà di scoperto. NON ME LE METTE INSIEME facendomi una somma di € 850.

    Perché?
  • Re: SOMMA DI CAMPI CONDIZIONATA

    Fermati! Stai andando fuori strada pesantemente. Non mi azzardo minimamente a vedere il link che hai indicato. Mi basta la descrizione del post 27 nov 2018, 12:38. Ti ripeto che devi scindere drasticamente la logica di Excel da quella di Access come spiegato nel link che ti ho proposto io.
    Noto che hai bisogno di fare molti CALCOLI. Questa è una caratteristica più spiccata/intuitiva in Excel. In Access si memorizzano/stivano DATI molto meno da calcolare prima. Calcoli e statistiche si fanno POI in tutt'altro modo...direi molto meno intuitivo.
Devi accedere o registrarti per scrivere nel forum
12 risposte