Inserire espressione in campo calcolato!!!

di
Anonimizzato13198
il
9 risposte

Inserire espressione in campo calcolato!!!

Cari amici programmatori
vi chiedo aiuto in merito all'inserimento di un espressione all'interno di un campo calcolato.

Mi occorre avere il numero di ore totali svolte da un dipendente in una singola giornata ricavandola da dati di tipo "data/ore.

Ho i seguenti campi:

AM IN (ora di ingresso ufficio mattina)
AM OUT (ora uscita ufficio mattina)
PM IN (ora ingresso ufficio pomeriggio)
PM OUT (ora uscita ufficio pomeriggio)

Es: AM IN (9.00), AM OUT (13.00), PM IN (15.00), PM OUT (19.00); voglio un campo calcolato che mi visualizzi in numero totale di ore svolte nella giornata intera ( mi dovrà visualizzare 8 in questo caso).

Io inserisco nella proprietà espressione del campo calcolato questa formula:

CDate(([AM OUT]-[AM IN])+([PM OUT]-[PM IN]))

Imposto il tipo di risultato a "decimale" e formato a "numero generico".

Il problema è che quando voglio salvare il nuovo campo mi dice: "L'espressione CDate([AMOUT]....) non può essere utilizzata in una colonna calcolata"!!!!!!! Perché?

Me lo fa praticamente con qualsiasi funzione io voglia inserire all'interno del campo calcolato (con esclusione di semlici operazioni quali somme,sottrazioni ecc tra campi).

Grazie per l'aiuto

9 Risposte

  • Re: Inserire espressione in campo calcolato!!!

    Per quale strano motivo vorresti salvare un campo CALCOLATO...?
    Se è calcolato ti basta CALCOLARLO...!!!!!
  • Re: Inserire espressione in campo calcolato!!!

    Sei proprio sicura che CDate sia la funzione giusta? Ho letto dalla guida in linea che CDate restituisce una Data. A te serve un Numero.
  • Re: Inserire espressione in campo calcolato!!!

    Ciao.
    se i campi :

    AM IN (ora di ingresso ufficio mattina)
    AM OUT (ora uscita ufficio mattina)
    PM IN (ora ingresso ufficio pomeriggio)
    PM OUT (ora uscita ufficio pomeriggio)

    sono di tipo data ora, il campo calcolato sarà di tipo data/ora.
    impostalo come data ora, non serva la funzione Cdate, se poi ti serve trasformare la data in numero lo poi fare in seguito.
    Ciao
  • Re: Inserire espressione in campo calcolato!!!

    Ecco, questa cosa che il campo calcolato restituisce il formato dei campi sulla quale funzione viene costruita non lo sapevo.

    La funzione CDate l'ho trovata su un forum, non do per sicuro che funzioni, voi che mi consigliate.

    A me interessa avere questo benedetto numero derivante da operazioni tra due campi DATA/ORA.

    Non sono un esperto programmatore di access, ho cominciato da 1 mesetto, non mi proponete soluzioni avanzate .
  • Re: Inserire espressione in campo calcolato!!!

    Dovresti impostare i 4 campi Data/ora con la proprietà
    Formato: Ora breve 24h
    Con questa pre-impostazione la funzione CDate restituisce valori coerenti.
    Ho fatto un test e funziona.
  • Re: Inserire espressione in campo calcolato!!!

    Si, il formato l'ho impostato già su Ora breve 24h, però quando inserisco la seguente funzione mi da quel messaggio di errore che vi ho descritto nel primo messaggio:

    funzione: CDate(([AM OUT]-[AM IN])+([PM OUT]-[PM IN]))

    messaggio errore: "L'espressione CDate([AMOUT]....) non può essere utilizzata in una colonna calcolata"

    Non capisco la ragione, è sbagliata la funzione?

    Grazie a tutti per l'aiuto
  • Re: Inserire espressione in campo calcolato!!!

    Io ho Access 2003 e non ho la possibilità di avere un Campo Calcolato direttamente in tabella. Ho creato una query dove importo tutti i campi di TuaTabella e in più una colonna con l'espressione CDate. Così mi funziona.
  • Re: Inserire espressione in campo calcolato!!!

    Ciao,

    Ale121285 ha scritto:


    funzione: CDate(([AM OUT]-[AM IN])+([PM OUT]-[PM IN]))
    non mi sembra che cdate sia contemplata come funzione riconosciuta per il campo calcolato, hai provato a toglierla come da primo suggerimento?

    ciao.
  • Re: Inserire espressione in campo calcolato!!!

    Ciao,
    da A2010 hanno inserito il campo calcolato, utile in qualche raro caso.
    concordo con te, generalmente i calcoli non si memorizzano nelle tabelle.
    E' forse "tipico" di un utilizzo di Excel, ma con i DB l'approccio dovrebbe essere diverso.
    Un saluto.
Devi accedere o registrarti per scrivere nel forum
9 risposte