Condividi:        

calcolo tempo di un evento con Access

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

calcolo tempo di un evento con Access

Postdi ciurlo » 30/01/07 04:09

Ho una tabella in cui compaiono i campi "IDcliente", "cliente", "stato" e "tempoconsulto".
Se il CLIENTEX è IN CONSULTO voglio calcolare il tempo che vi è rimasto. quando invece lo stato del progetto ritorna su IN ATTESA voglio fermare il "tempoconsulto".
Se poi lo stato di CLIENTEX tornasse (anche dopo vari giorni) su IN CONSULTO, allora "tempoconsulto" di CLIENTEX dovrebbe ricominciare a scorrere da dove era rimasto.
In pratica mi serve un metodo per calcolare il tempo complessivo che viene dedicato ad ogni cliente.
("stato" deriva da una tabella in cui ho "IDstato" e "stato"
IN CONSULTO corrisponde a IDstato=1
IN ATTESAcorrisponde a IDstato=2
eventualmente posso usare anche 1 o 2 come valori per "stato" da inserire in una funzione)
Non so se in Access è prevista una funzione del genere ma posso eventualmente ricorre alla creazione di altre query o tabelle, a me basta trovare un modo per risolvere il problema.
Grazie.
ciurlo
Newbie
 
Post: 5
Iscritto il: 30/01/07 03:58
Località: Lucca

Sponsor
 

Postdi archimede » 30/01/07 09:24

Se ho inteso bene, io userei una tabella tipo:

IDcliente, DataInizioConsulto, DataFineConsulto

Questa conterrà più records per ogni cliente a seconda di quante volte lo stato passa da "In Attesa" a "In consulto".

Con una semplice query calcoli le differenze tra le due date e poi fai la somma (se DataFine = Null allora DataFine = Date()).

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi ciurlo » 30/01/07 10:05

Dunque archimede, intantio grazie per il tuo aiuto, alla mia prima esperienza con i forum ho avuto subito una valida risposta e questo mi incoraggia.

L'ultima cosa che mi resta da risolvere è la seguente:
se devo calcolare il tempo (in ore) del consulto mi serve in "datainizioconsulto" e "datafineconsulto" la data e l'ora.... DD/MMm/YYYY hh:mm (in pratica mi servirebbe di inserire la data nel formato datagenerale che trovo ad esempio nelle opzioni per le macro).
In questo modo risulterà facile fare sottrazioni e somme.

IN SOSTANZA: ESISTE NELLE FUNZIONI DA POTER INSERIRE IN UNA QUERY LA FUNZIONE DATA ORA?
ciurlo
Newbie
 
Post: 5
Iscritto il: 30/01/07 03:58
Località: Lucca

Postdi archimede » 30/01/07 11:26

Codice: Seleziona tutto
SELECT datainizio, datafine, [datafine]-[datainizio] AS GGDiff,
([datafine]-[datainizio])*24 AS OreDiff, ([datafine]-[datainizio])*24*60 AS MinDiff
FROM MiaTabella;
HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

troncare i decimali nel risultato di una operazione

Postdi ciurlo » 31/01/07 17:26

Grazie dei cosigli Archimede,
la serie di istruzioni che mi hai dato ha funzionato a meraviglia, solo il risultato non è proprio il massimo.
Vengono infatti visualizzati, nel calcolo della differenza di date, i decimali.
Mi spiego meglio:
se faccio (31/01/2007 11:00)-(31/01/2007 10:00) ottengo GGdif=0,04166... (cioè 1/24 infatti le due date differiscono di 1/24 di giorno)
E' possibile "troncare" i decimali nel risultato di una oprazione?
Purtroppo tali dati (da "troncare") non compaiono in una tabella vera e propria, ma sono il risultato di una query e quindi non posso impostare il tipo di dato come in una casella di una tabella.
ciurlo
Newbie
 
Post: 5
Iscritto il: 30/01/07 03:58
Località: Lucca

Postdi archimede » 31/01/07 19:25

Codice: Seleziona tutto
SELECT datainizio, datafine, [datafine]-[datainizio] AS GGDiff,
([datafine]-[datainizio])*24 AS OreDiff, ([datafine]-[datainizio])*24*60 AS MinDiff,
Round(([datafine]-[datainizio])*24) AS OreDiff2, Round(([datafine]-[datainizio])*24*60) AS MinDiff2
FROM MiaTabella;
HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

l'istruzione funziona!

Postdi ciurlo » 01/02/07 04:39

Ho provato l'ulteriore istruzione che mi hai mandato ed ho finalmente capito che i tre dati: giorni, ore e minuti sono lo stesso valore, ma in unità diverse (0.56 giorni = 13.44ore = 806.4minuti); o, non c'ero arrivato!
Probabilmente se il mio DB lo metto in mano ad un esperto gli stessi risultati saranno raggiunti con una logica più appropriata, ma il DB funziona e bene.
Io lavoro come ingegnere in una azienda a Shanghai e il DB che mi sono creato è molto utile ed ha carattere di assoluta novità, non esiste niente di simele sul mercato, di questo sono sicuro.
Vorrei, magari fra un pò, compiere un ulteriore passo avanti... REALIZZARE UN SW!!!
Mi potreste consigliare a quale linguaggio appoggiarmi?
Visto che devo rimettermi a studiare vorrei evitare di investire soldi e tempo in SW che richiedano licenza a pagamento.
Sul Forum ho visto che i più gettonati sono ORACLE (ma non ho capito di preciso cosa sia) e MySQL (free?).
ciurlo
Newbie
 
Post: 5
Iscritto il: 30/01/07 03:58
Località: Lucca

Re: l'istruzione funziona!

Postdi archimede » 01/02/07 11:06

ciurlo ha scritto:Vorrei, magari fra un pò, compiere un ulteriore passo avanti... REALIZZARE UN SW!!!
Mi potreste consigliare a quale linguaggio appoggiarmi?
Visto che devo rimettermi a studiare vorrei evitare di investire soldi e tempo in SW che richiedano licenza a pagamento.
Sul Forum ho visto che i più gettonati sono ORACLE (ma non ho capito di preciso cosa sia) e MySQL (free?).
Realizzare un sw è un'espressione alquanto generica. Un applicativo su CD da installare in locale? Un applicazione fruibile su Internet? Per uno o 100 utenti?

Oracle e MySQL sono database (come Access, ma più evoluti).

I linguaggi sono un'altra cosa (Visual Basic, PHP, ASP, Java, ecc.).

Cosa usare dipende molto dai tuoi obiettivi e dalle tue conoscenze: visto che hai iniziato con Access forse potresti proseguire per questa strada.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Applicativo installabile

Postdi ciurlo » 02/02/07 07:51

Vorrei proprio realizzare un applicativo su CD da installare in locale, e mi sembra di aver capito, navigando nel forum, che con access non è possibile.
MySQL è "libero" o bisogna pagare una licenza?
Con MySQL è possibile realizzare un applicativo, su CD, installabile?
I linguaggi sono lo strumento con cui scrivere le istruzioni, ma MySQL li accetta tutti?

Francesco
ciurlo
Newbie
 
Post: 5
Iscritto il: 30/01/07 03:58
Località: Lucca

Re: Applicativo installabile

Postdi archimede » 03/02/07 09:33

ciurlo ha scritto:Vorrei proprio realizzare un applicativo su CD da installare in locale, e mi sembra di aver capito, navigando nel forum, che con access non è possibile.
Temo tu abbia capito male. La difficoltà maggiore (ma è comunque possibile) consiste nel realizzare un applicativo che funzioni anche per chi non ha Access installato. A parte questo, non mi vengono in mente controindicazioni all'uso di Access per quello che vuoi fare.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Applicazioni Office Windows


Topic correlati a "calcolo tempo di un evento con Access":


Chi c’è in linea

Visitano il forum: Marius44 e 69 ospiti