Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Access] Come salvare nel db un valore calcolato nel form?

    Ciao a tutti, non sono un grande esperto di access, ma mi serve capire una cosa... ho creato un database con le relative forms, ora però vorrei fare una cosa: ho fatto in modo che dopo l'inserimento manuale di due valori in un terzo campo io riceva il risultato di un'operazione; ora vorrei che questo risultato venga salvato nel db in una colonna di quel determinato record. Come faccio?
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Va contro ogni regola di normalizzazione di una base dati l'inserimento in tabella di campi calcolati.

  3. #3
    Innanzi tutto grazie della risposta... e secondo te come posso fare? c'è qualche altra soluzione a cui non ho pensato o proprio non si può fare con access?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non è che non si possa fare.
    Ti faccio un esempio banale. Supponiamo tu abbia due campi, campo1 e campo2 e che voglia assegnare a campo2 il valore di campo1 + 1.

    Nel tuo form tramite la pressione del tasto f4 apri la finestra delle proprietà e nella scheda evento, alla voce "dopo aggiornamento" in corrispondenza del campo1 associ questo codice

    codice:
    Private Sub campo1_AfterUpdate()
    Me.campo2 = Me.campo1 + 1
    End Sub
    In questo modo, dopo l'inserimento di un valore numerico in campo1, nel campo2 verrà salvato lo stesso valore incrementato di un'unità. Resta il fatto che, essendo un campo calcolato, si tratta di un valore ridondante e che puoi tranquillamente mostrare a video senza inserirlo fisicamente nella tabella.

  5. #5
    Grande!!! Grazie, ci sono riuscito seguendo il tuo consiglio... dopo la modifica del campo2 ho creato la formula che dice di inserire nel campo3 il risultato: fa tranquillamente il calcolo e lo inserisce nel db nel field corretto del record corrispondente.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Accertati che il campo venga aggiornato correttamente in caso di modifica di uno dei due valori su cui si basa l'operazione.
    Il consiglio di evitare la memorizzare di tale valore resta comunque sempre valido.

  7. #7
    Scusa l'ignoranza, ma perchè? Comunque ho controllato e funziona anche l'aggiornamento di tale valore.
    Adesso avrei un'altra piccola domandina: si può stampare il contenuto di un solo campo creando un bottone nel form accanto al suddetto campo? Grazie ancora per i consigli, sto facendo un lavoro per la tesi e devo sistemare alcune cose.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da aletorinese
    Scusa l'ignoranza, ma perchè?
    Il discorso della normalizzazione di una base dati è molto lungo. Se vuoi approfondire fai una ricerca su google e troverai tantissimi articoli a riguardo.

    Un risultato a caso che ho trovato è questo

    http://www.davidegullotta.it/materia...zzazionedb.pdf

    Come ti dicevo l'inserimento in tabella di un campo calcolato è un'informazione ridondante. Se ad esempio hai un campo1 e un campo2 e vuoi conoscerne il totale non ha senso inserire in tabella un ulteriore campo che esegua tale somma. Quando ne avrai necessità lo calcolerai tramite una query

    es.
    select *,(campo1+campo2) as totale from tabella.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.