Tabella, tipo campo Calcolato

di il
10 risposte

Tabella, tipo campo Calcolato

Buon pomeriggio
vorrei una opinione dai più esperti sull'utilità (o inutilità) dell'utilizzo dei campi calcolati in tabella..
Riprendo l'esempio della guida, in una tabella righe di fatture, ha senso inserire un campo calcolato per il totale (qt*prezzo) per richiamarlo in futuro o è meglio affidarsi sempre alle query?
Questo è un esempio banale, ma in che casi, eventualmente, ha un senso?

grazie per l'opinione..

Crodino

10 Risposte

  • Re: Tabella, tipo campo Calcolato

    Crodino ha scritto:


    vorrei una opinione dai più esperti sull'utilità (o inutilità) dell'utilizzo dei campi calcolati in tabella..
    Se parli di quelli introdotti da A2007, dimentica che esistono. Ringrazia Microsoft ma prosegui senza usare quella funzionalità. Il modo giusto per gestirli è sempre tramite codice/query.
  • Re: Tabella, tipo campo Calcolato

    Il "campo calcolato" (mi pare) è una invenzione di Microsoft Access. Non ha riscontro in altre applicazioni simili (così avevo sentito dire una volta da utenti più esperti di me). Questo la dice lunga sul senso logico per cui le tabelle sono e dovrebbero essere SOLO CONTENITORI DI DATI PRIMORDIALI, cioè quelli che solo l'utente inserisce. Tutto il resto lo deve fare il computer, ossia le query.
    Ma perchè Microsoft Access ha pensato al campo calcolato in tabella? Mia opinione: come per dire "che cavolo" per fare un semplice Campo1 + Campo2 devo mettere in piedi una query "apposta apposta"? Allora ce lo aggiungiamo come un altro campo (calcolato appunto).
    I puristi di Access ti diranno di non farlo mai. Io dico che se ti serve per una semplicissima tabella che non avrà grande utilità per altre operazioni...procedi pure. Tutti sconsigliano di usare il campo calcolato per espressioni e calcoli più complessi.
  • Re: Tabella, tipo campo Calcolato

    Mi state confermando quello che pensavo anche io, ma da utente non esperto mi stavo appunto chiedendo "ma se esistono, a qualcosa serviranno... sono io che non capisco?"... da qui il confronto con voi.
    Nel mio pensiero potrebbero essere utili giusto per cose del tipo:
    TipoPagamento: Riba - Contanti - Assegno ... nella mia tabella ho Riba
    CondPagamento: RID - 30gg - 60gg ... nella mia tabella ho 30 gg
    Se in fattura devo avere un campo Pagamento che riporta: Riba 30 gg
    allora forse può avere un senso un campo calcolato per non stare appunto a creare una query apposta...
    ma giusto se da quella tabella non devo tirare fuori altro... forse...
    come al solito un po' di confusione
  • Re: Tabella, tipo campo Calcolato

    Crodino ha scritto:


    allora forse può avere un senso un campo calcolato per non stare appunto a creare una query apposta...
    ma giusto se da quella tabella non devo tirare fuori altro
    Esatto.
  • Re: Tabella, tipo campo Calcolato

    Crodino ha scritto:


    ma da utente non esperto mi stavo appunto chiedendo "ma se esistono, a qualcosa serviranno... sono io che non capisco?"... da qui il confronto con voi.
    Attenta a non confondere le due situazioni che si presentano e che stanno sotto la stessa descrizione di "campo calcolato".
    Un discorso è parlare dell'uso di quel tipo particolare di "formato di dati" che è il campo calcolato che Access ha introdotto dalla versione 2007 in avanti. Quando io ho detto di non usarlo mi riferivo, nello specifico, a questo.
    Un altro è parlare dell'utilità o meno di avere in una tabella un campo che contiene il risultato di un calcolo (che non viene fatto con la "procedura automatica" di prima).
    Esistono fiumi di inchiostro e codice html su quest'ultimo aspetto, difficile da ricondurre ad un thread. Ci sono pro e contro sul loro uso. Io non sono nelle condizioni di sostenere né una tesi né l'altra. Vediamo se trovo un articolo in cui si trattava con qualche fondamento tecnico in più la cosa.
  • Re: Tabella, tipo campo Calcolato

    Vediamo se trovo un articolo in cui si trattava con qualche fondamento tecnico in più la cosa.
    grazie.. così approfondisco l'utilità
  • Re: Tabella, tipo campo Calcolato

    Crodino ha scritto:


    Vediamo se trovo un articolo in cui si trattava con qualche fondamento tecnico in più la cosa.
    grazie.. così approfondisco l'utilità
    Ammazza quanto ho dovuto scartabellare (informaticamente parlando)
    https://www.iprogrammatori.it/forum-programmazione/post8528123.html#p8528123
    Parto da in fondo: due pagine di Allen Browne, il cui sito dovrebbe essere spulciato in ogni riga tanto è un concentrato di "conoscenza di Access" (e non solo).
    Il secondo link, quello che rimanda ad una pagina di utteraccess.com, non funziona, nel senso che non c'è più adesso quella pagina e non sono riuscito a trovare l'equivalente attuale.
    Quello che avevo in mente però è il primo link (anche se la trattazione mi sembrava molto più estesa... ah, la memoria!!! )
    Riporto per comodità di lettura l'intervento di Maurizio Borrelli del 23-Jan-2004, at 5:58 PM EST (che viene subito dopo quello di tale Alessandro Baraldi... quel nome non mi è nuovo ma non scartabello ancora per cercare pure lui)
    La questione che poni non e' di poco conto, anzi! Se ne parla direi settimanalmente in questo ed in altri ng e la risposta e', mi pare, sempre quella; in sintesi: no campi calcolati in tabella, per i calcoli usa le query.

    Io pero' sono di opinione *leggermente* diversa e rispondo: dipende.

    In ambito gestionale (contabile, amministrativo, ...) distinguo due casi, semplificando:

    1. tabelle di dati storici;

    2. tutte le altre tabelle.

    e con "tabelle di dati storici" intendo ovviamente tabelle i cui campi, nel corso del tempo, non dovranno mai piu' e in nessun caso essere modificati. Non solo, campi i cui valori, se derivano da calcoli, non devono essere ricalcolati perche' la loro rilevanza non sta nel calcolo ma nel risultato di un calcolo gia' fatto, non ripetibile, cioe' in un valore non piu' modìficabile.

    Un caso diciamo cosi' esemplare: mettiamo che io faccia determinati calcoli con un algoritmo errato e che un bel giorno me ne accorga e lo corregga. Se invece di archiviare i valori stampati sui documenti gia' emessi io semplicemente ricalcolassi ogni volta tali valori non avrei piu' la corretta corrispondenza fra valori in archivio e valori sui documenti cartacei. Per ottenerla dovrei appesantire e complicare l'algoritmo con un test sul prima e dopo correzione. A che scopo?

    In tutti gli altri casi, e sono forse la maggioranza, vale la regola esposta sopra. Meglio ripeterla, a scanso di equivoci:

    no campi calcolati in tabella,
    per i calcoli usa le query

    --
    Ciao )
    Maurizio Borrelli, Microsoft MVP Access
    --------
    ?SPQR(C)
    X
    --------
    Ed eravamo nel 2004, quando il campo di tipo calcolato di "nuova introduzione" in Access non era ancora disponibile.
  • Re: Tabella, tipo campo Calcolato

    Maurizio è un vecchio amico...EX MVP e pignolissimo sviluppatore...
    Credo che lui e Giorgio Rancati siano stati dei punti di riferimento importanti nel panorama italiano.
  • Re: Tabella, tipo campo Calcolato

    @Alex ha scritto:


    Maurizio è un vecchio amico...
    non ci interessava sapere che anche tu sei vecchio.

    @Alex ha scritto:


    Credo che lui e Giorgio Rancati siano stati dei punti di riferimento importanti nel panorama italiano.
    io, che sono nuovo dell'ambiente, spulciando nei siti "del passato", credo che anche Alessandro Baraldi abbia fatto la sua parte. Chissà che fine ha fatto.
  • Re: Tabella, tipo campo Calcolato

    Ottimi spunti, ho guardato i link e sono in effetti da approfondire...
    mi ha fatto molto riflettere il discorso della storicizzazione dei dati dei documenti fiscali perchè è proprio l'argomento su cui stavo riflettendo in questi giorni per proseguire nel mio progetto che al momento riguarda proprio i documenti di vendita...
    Credo che sicuramente seguirò due consigli:
    1) niente campi calcolati in tabella (mi pare un consiglio super ripetuto e quindi mi attengo scrupolosamente)
    2) dovrò ben riflettere su quali dati storicizzare in tabella per evitare errori futuri...

    grazie mille
    Crodino
Devi accedere o registrarti per scrivere nel forum
10 risposte