[MS Access] controllo valido se

Discussione in 'MS Access' iniziata da maurivi53, 20 Giugno 2019.

  1. maurivi53

    maurivi53 Nuovo Utente

    Registrato:
    20 Novembre 2018
    Messaggi:
    12
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Buongiorno a tutti, ho una tabella con i seguenti dati: data - ent1 - ent2 - usc1 - usc2 (entrata1-entrata2-uscita1-uscita2)

    una maschera che inserisco la data, l'entrata1, l'entrata2, l'uscita1 e l'uscita2. nel controllo maschera in riga "valido se" inserisco nella seconda entrata: >ent1

    inserisco nella prima uscita: >ent1 and >ent2

    inserisco nella seconda uscita: iif([ent2]=0 and [usc1]=0;[usc2]>[ent1];[usc2])

    oppure: IIf(IsNull([ent2]) And IsNull([usc1]);[usc2]>[ent1];[usc2])

    se inserisco nella maschera: ent1=09:00 ent2=12:00 usc1 =13:00 usc2 =18:00 mi dà come risultato 8 ed è OK

    se inserisco nella maschera: ent1=12:00 ent2=0 usc1=0 usc2=16 mi dà come risultato 4 ed è OK

    se inserisco nella maschera: ent1=12:00 ent2=0 usc1=0 usc2=09:00 mi dà come risultato 3 ma non è giusto, dovrebbe dare errore

    visto che nel controllo "valido se" ho inserito che se ent2 e usc1 sono =0 usc2 deve essere maggiore della ent1, così anche se il controllo lo inserisco nella query.

    mi potete aiutare?

    ringrazio anticipatamente.
     
  2. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    controlli che io farei,

    se ci sono 2 entrate devono esserci 2 uscite
    e la prima uscita deve essere maggiore della prima entrata
    e la prima uscita deve essere minore della seconda entrata
    e la seconda uscita deve essere maggiore della seconda entrata

    se c'é una sola entrata deve esserci una sola uscita
    e l'uscita deve essere maggiore dell'entrata
     
  3. maurivi53

    maurivi53 Nuovo Utente

    Registrato:
    20 Novembre 2018
    Messaggi:
    12
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Grazie Marino della risposta, in effetti per esempio la prima entrata è (es.08:00) la seconda entrata è (es. 12:00) la prima uscita è (es. 13:00) la seconda uscita è (es. 17:00) totale ore 8, altro esempio la prima entrata è (es. 12:00) la seconda entrata è (es. 00:00) la prima uscita è (es. 00:00) la seconda uscita è (es. 16:00) totale ore 4. Entrata primaria, entrata mensa, uscita mensa, uscita primaria.
    Se non viene sfruttata la mensa, il controllo deve calcolare solo la prima entrata e la seconda uscita ma nel mio caso non funziona, perché se inserisco: prima entrata è (es. 12:00) la seconda entrata è (es. 00:00) la prima uscita è (es. 00:00) la seconda uscita è (es. 09:00) il totale ore è 3 ma è sbagliato, il controllo non funziona, forse è sbagliata la sequenza del controllo stesso. Mentre se inserisco prima entrata (es. 12:00) seconda entrata (es. 00:00) prima uscita (es. 00:00) seconda uscita (es. 17:00) totale ore 5 funziona. Ho letto la sintassi nell'help e mi sembra corretto.
    Grazie ancora delle risposte.
     
  4. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    se pubblichi il codice, lo controllo
     
  5. maurivi53

    maurivi53 Nuovo Utente

    Registrato:
    20 Novembre 2018
    Messaggi:
    12
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao Marino, ti carico il codice che ho messo nella maschera in linea con usc2 nella riga "valido se" (uscita dal lavoro) in formato txt.
     

    Files Allegati:

  6. CarlettoFed

    CarlettoFed Utente Attivo

    Registrato:
    17 Luglio 2017
    Messaggi:
    74
    Mi Piace Ricevuti:
    1
    Punteggio:
    8
    Sesso:
    Maschio
    La cosa credo sia impossibile controllarla tramite la proprietà Valido se , devi per forza ricorrere a Vba, che non è molto complicato.
     
    Ultima modifica: 24 Giugno 2019
  7. maurivi53

    maurivi53 Nuovo Utente

    Registrato:
    20 Novembre 2018
    Messaggi:
    12
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao Carletto e grazie della risposta, ho immaginato che la cosa fosse impossibile, anche perchè avevo messo il codice uguale nella query ma non funzionava ugualmente. se ti è è possibile mi puoi dare una dritta per il codice in vba, non sono molto pratico, solo una dritta in modo che possa ragionarci su e cercare di risolvere l'inghippo. ti ringrazio in anticipo.
     
  8. CarlettoFed

    CarlettoFed Utente Attivo

    Registrato:
    17 Luglio 2017
    Messaggi:
    74
    Mi Piace Ricevuti:
    1
    Punteggio:
    8
    Sesso:
    Maschio
    Nell'allegato puoi vedere un esempio molto semplificato.
     

    Files Allegati:

    • Orari.zip
      Dimensione del file:
      16,5 KB
      Visite:
      28
  9. maurivi53

    maurivi53 Nuovo Utente

    Registrato:
    20 Novembre 2018
    Messaggi:
    12
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Grazie Carletto, lo studierò e ti saprò dire, grazie ancora. ps: mi permetterò di disturbarti ancora se qualcosa non capisco.
     
Sto caricando...

Condividi questa Pagina