Access aggiornare il campo di una tabella dopo aver eseguito un calcolo nella maschera

Anonimo
2025-01-05T10:46:48+00:00

Buongiorno, non sono espertissimo di Access e ho la seguente necessità che spero riusciate ad aiutarmi a risolvere:

  1. ho una Tabella che contiene i seguenti campi:

data_inizio

durata

data_termine

  1. All'interno della tabella non riesco a calcolare la data termine come risultante di data_inizio + durata (il campo calcolato non consente l'inserimento di comandi VB)
  2. Nella Maschera ho creato un campo non-collegato ("data_fine") che elabora correttamente il calcolo

Come fare a trascrive il valore di data_fine all'interno del campo data_termine presente in Tabella?

Grazie mille per ogni supporto

pietro

Microsoft 365 e Office | Accesso | 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. Per proteggere la privacy, i profili utente per le domande di cui è stata eseguita la migrazione vengono resi anonimi.

0 commenti Nessun commento
{count} voti

5 risposte

Ordina per: Più utili
  1. Anonimo
    2025-01-05T12:26:02+00:00

    La risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o parole insolite.

    Ciao Pietro,

    Controlla il tipo di dati nella tua tabella, funziona per me 🙂

    Quando la durata (misurata in giorni) o il start_date vengono modificati, il end_date verrà automaticamente ricalcolato.

    0 commenti Nessun commento
  2. Anonimo
    2025-01-05T14:07:14+00:00

    Non c'è alcuna necessità di creare un'altro campo per memorizzare il calcolo questo verrà mostrato tramite query quando sarà necessario, però è necessario sapere se quello che addizioni sono Minuti o Ore o Giorni o altro

    la query, che potresi chiamare qryDatiConDataFine, nel caso di Minuti sarà:

    SELECT data_inizio, durata, DateAdd("n", durata, data_inizio) AS DataFine FROM NomeTuaTabella)

    per la funzione DateAdd vedere il link a **** https://support.microsoft.com/it-it/topic/funzione-dateadd-63befdf6-1ffa-4357-9424-61e8c57afc19

    0 commenti Nessun commento
  3. Anonimo
    2025-01-05T20:58:46+00:00

    Grazie Sophia ma la tua formula funziona solo per addizionare giorni, ho bisogno di addizionare mesi e non è comodo fare la somma dei giorni in questo caso.

    grazie comunque per il feedback

    pietro

    0 commenti Nessun commento
  4. Anonimo
    2025-01-05T21:02:03+00:00

    Non c'è alcuna necessità di creare un'altro campo per memorizzare il calcolo questo verrà mostrato tramite query quando sarà necessario, però è necessario sapere se quello che addizioni sono Minuti o Ore o Giorni o altro

    la query, che potresi chiamare qryDatiConDataFine, nel caso di Minuti sarà:

    SELECT data_inizio, durata, DateAdd("n", durata, data_inizio) AS DataFine FROM NomeTuaTabella)

    per la funzione DateAdd vedere il link a **** https://support.microsoft.com/it-it/topic/funzione-dateadd-63befdf6-1ffa-4357-9424-61e8c57afc19

    Scusa ma non sono ferratissimo: quando dici "il calcolo questo verrà mostrato tramite query quando sarà necessari" cosa intendi?

    OK per la sintassi del comando DateAdd è quella che avevo usato nel controllo del campo addizionale che avevo creato in maschera: mi funziona.

    Non capisco invece dove dovrei inserire il comando che mi hai suggerito: nel controllo del campo (come con il generatore di espressioni?) o creando una query negli eventi? O altro ancora?

    Puoi verificare anche esattamente la sintassi parentesi comprese di quello che mi hai scritto?

    grazie

    0 commenti Nessun commento
  5. Anonimo
    2025-01-05T22:34:06+00:00

    la sintassi corretta della qryDatiConDataFine, considerando i mesi, è:

    SELECT data_inizio, durata, DateAdd("m", durata, data_inizio) AS DataFine FROM NomeTuaTabella

    preciso che l'inserimento dei dati non deve essere effettuato in tabella ma da maschera creata appositamente che può essere:

    • singola e qui saranno necessari tre controlli di testo, che puoi chiamare
      • txtDataInizio che avrà come Origine controllo il campo data_inizio
      • txtDurata che avrà come Origine controllo il campo durata
      • txtDataFine che avrà come Origine controllo l'espressione
        • = DateAdd("m";txtDurata;txtDataInizio)
    • continua dove avrà come Origine record la query qryDatiConDataFine, sopra descritta
    0 commenti Nessun commento