Come calcolare la somma totale di valori ottenuti con funzione DLookUp

di il
14 risposte

Come calcolare la somma totale di valori ottenuti con funzione DLookUp

Buongiorno,

vorrei chiedere prima di ricercare il modo per farlo se è fattibile quanto mi propongo di fare.

In una maschera di inserimento dati in formato data sheet (tabulare) ho:

  • colonna quantità ? proveniente da tabella packinglist
  • colonna codice articolo ? proveniente dalla stessa tabella packing list
  • colonna creata con casella di testo con funzione DlookUp che preleva il valore “peso unitario” da una tabella peso-articoli
  • colonna creata con casella di testo che moltiplica il valore precedente ("peso unitario") per il valore “quantità”

tutto quanto sopra funziona bene: ad ogni riga la funzione DlookUp mi restituisce il peso unitartio corretto ed anche il calcolo del peso totale per ogni riga (posizione) funziona bene.

Il problema è che non riesco ad ottenere il peso totale complessivo, ovvero il totale dei totali per ogni riga.

Si può fare?

Io ho provato in questo modo ma il  risultato è errato in quanto il valore del Dlookup si ferma alla prima riga:

=Sum(DLookUp("[UNIT WEIGHT]","PMSR Query 2 Query1","[POLineItem]=[CMB_POLineItem]")*[PACKINGLIST_QTY])

ho provato anche a fare:

=Sum([PESO])

dove PESO = =DLookUp("[UNIT WEIGHT]","PMSR Query 2 Query1","[POLineItem]=[CMB_POLineItem]")*[PACKINGLIST_QTY]

ma in questo caso ottengo "ERRORE"

Grazie in anticipo

Francesco

14 Risposte

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    A mio avviso quell'errore è il minimo dei problemi, dato che si tratta di una parentesi mancante. Usare funzioni di aggregazione in quel modo denota carenze concettuali. Ti consiglio di indicare tabelle, campi e relazioni.

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    La cosa migliore, sia per chiarezza che per velocità, sarebbe se potessi postare un file di esempio per vedere com hai gestito il problema.

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Antony,

    dalla tua risposta deduco che la strada c'è nma si dovrebbe rifare tutto in un'altro modo.

    In effetti non sono un programmatore e procedo con modifiche su modifiche su un LOG file che ho creato per mio utilizzo personale.

    (non sarebbe pensabile trasferirlo a nessuno poichè ha le fattezze che hai visto…)

    Però riesco a sopravvivere e fornire in uscita dei risultati apprezzabili anche se con metodi “sporchi”..

    la parentesi mancante quale sarebbe? 

    Indico le tabelle:

    TABELLA PL_Item_List

    TABELLA PL_Register (con chiave primaria)

    Legate da relazione uno a molti sul campo Packing list number (con integrita referenziale)

    (non so se, in base alle regole del forum,  posso copiare qui uno screen shot delle relazioni…) 

    La tabella PL_Item_LIst ha un campo stringa nominato "POLineItem" che è inserito manualmente.

    Compilazione su maschera + sottomaschera legata a queste due tabelle.

    Poi c'è una query PMSR Query 2 Query1  che contiene vari campi tra cui il UNIT WEIGH oltre che il POLineItem di cui sopra.

    E' quest'ultima query (non collegata da alcuna relazione con le precedenti) che fornisce il dato UNIT WEIGHT tramite un VLookUp nella maschera di inserimento dati di cui sopra.

    Il dato viene prelevato correttamente è mostrato in riga.

    Quello che non funziona è il totale in fondo alla tabella.

    Ci sono i presupposti per un suggerimento o uno spunto per una modifica..?

    Grazie in anticipo

    Francesco

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Quello che vuoi realizzare non è una cosa complessa. Sono richieste conoscenze base di gestione di un db. Come ti è stato suggerito posta il file.

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Antony, 

    pesa 70 MB, posso caricarlo qui?

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Cosa ci ha messo dentro? Immagini?

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Antony, Stifone

    ho preparato il file di esempio. Pesa solo 1,6 MB.

    Come faccio a postarlo?

    Mi sa che non sono abilitato ad allegare file nel post..

    Grazie

    Francesco

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Devi salvarlo su un sito di condivisione, tipo Dropbox, e sul post mostrare la stringa relativa al link,

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Tabelle:

    Packinglist: idpkl; idart, ecc…

    Pesoarticoli: idart; pesounitario; ecc…

    La colonna quantità deve appartenere alla tabella packinglist. Non avrebbe senso una packing list senza quantità, sarebbe solo un elenco articoli.

    Dovrebbe contenere anche un riferimento alla vendita (cliente) o all'acquisto (fornitore) e il relativo documento di carico o scarico (nrdocumento).

    Sql: select * from packinglist as a

    Inner join pesoarticoli as b on a.idart=b.idart

    Inner join clienti/fornitori as c/f on a.cliente=c.cliente

    Where a.idpkl=[tuo parametro di filtraggio]

    Poi crei i campi calcolati per riga peso*quantità as totale

    E il campo calcolato sum(totale)

    Magari chi più ferrato di access traduce nel codice corretto ma in soldoni questo è il modo di procedere.

    Con codice ridotto all'osso!

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Grazie Andrea,

    https://drive.google.com/file/d/1B1aURlS9SQBviRNEKHz-S7F9WobH6gp8/view?usp=sharing

    qui sopra il link per vedere cosa ho fatto.

    aprire la maschera packing list register

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Cambia sito in quanto questo chiede un'autorizzazione che dovrebbe rilasciare tramite email che non però inviata, sono due giorni che attendo.

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Ciao Stifone,

    scusa ieri ho guidato tutto il di.

    Qui sotto il link creato con dropbox (versione free)::

    https://www.dropbox.com/scl/fi/af8tn8j032s9be82t6kmz/ESEMPIO.accdb?rlkey=vxwf2yqw52dxnhwwh23irf3o3&st=37vl92jm&dl=0

    se non dovesse funzionare posso mandarti un wetransfer al tuo indirizzo.

    il file ha estensione .accdb e pesa solo 1,5 MB

    Francesco

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    Spesso vi complicate le cose.

    Per raggiungere il tuo obbiettivo basta aggiungere nel Piè di pagina della sottomaschera, creata a parte, due controlli dove inserire le somme dei campi PO QTY e PESO ( che è la colonna calcolata, PO QTY * UNIT WEIGHT nella query di Origine record della sottomaschera).

    Qui è l'esempio.

  • Re: Come calcolare la somma totale di valori ottenuti con funzione DLookUp

    [ risposta revisionata e re-inviata il 7/29 ore 1:10 PM]

    Ciao Stifone,

    ho visto la tua risposta con allegato e ti ringrazio.

    In effetti la sottomaschera con Default view “Continuous Form” è più agevole, perchè essa in effetti permette di inserire in pie di pagina i valori somma.

    Anche io ne ho fatto un uso in altre maschere di riepilogo di dati gia inseriti nel data base (NO maschera di inserimento dati).

    In caso di maschera di inserimento dati ho un problema nel formato maschere continue.

    Il problema che ho riscontrato nell'uso  di questa maschera è che non sono riuscito a eseguire il copia ed incolla di una lunga serie di dati da un foglio excel (packing list originale, sempre di formato diverso da fornitore a fornitore) nella sottomaschera “packing list item list”.

    Il default view “Data sheet” invece offre la possibilità di farlo. Basta selezionare la riga nuovo record e CTRL+V.

    Per cui a meno che io non abbia visto bene mi risulta così: la sottomaschera in formato (view) data sheet è molto più flessibile per l'inserimento dati.

    Nel file che mi hai postato ho notato che inserimento di nuovo record in sottomaschera non è disponibile (credo perchè la sottomaschera è basata su una query). Ma per mia precedente esperienza anche se fosse basata su una tabella selezionando il nuovo record la maschera non accetta il CTRL+V contenente più di una riga.

    E' una limitazione di inserimento dati nelle maschere in formato maschere continue? ? Non ne sono sicuro ma è quello di cui mi sono convinto.

    Ed è questo il motivo per cui per calcolare la somma dei dati inseriti in una maschera (vedendo tale valore somma "real time" mentre aggiungo dati manualmente) ho optato per una colonna affianco alla colonna dove inserisco i dati (anche se non è bello vedere la somma li…); il tutto in una sottomaschera in formato tabella (datasheet).

    Non sono esperto come te quindi tutto ciò che ho scritto si basa solo sulle mie esperienze limitate ai miei tentativi di utilizzo del programma ACCESS fatti in questo periodo COVID / POST COVID…

    Ti ringrazio in anticipo per un tuo consiglio/commento

    Francesco

Devi accedere o registrarti per scrivere nel forum
14 risposte