Newsgroup: it.comp.appl.access
Titolo: Inserimento data in form all'interno di un range mese/anno...

Ciao a tutti...
dovrei gestire l'inserimento in un controllo di una data registrazione
(DataReg) in una Form (FrmCont) che deve essere all'interno di un range
di mesi impostati su di un'altra Tbl.
L'inserimento di questi due mesi, e qui non so se l'ho gestita
correttamente, l'ho organizzata in una Form ad hoc con 4 Combo MM1
AAAA1 e MM2 AAAA2 che, attraverso "dataserial" mi creano le due date.
Ora, per le due date create che mi si generano su cotrolli nascosti, ho
fatto in modo che ricadano sul 1° giorno del mese, non sapendo/potendo
fare diversamente.
Come posso gestire la DataReg della FormCont che sia all'interno dei
mesi del range impostato?
Grazie
Paolo

Paolo
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 >Ciao a tutti...

Grazie Roberto innanzitutto...
Dunque, in realtà io utilizzo la Form "Pippo" solo per inserire in una
tabella queste due date (Inizio e Fine). Potrei portarmi, con una
subForm, le due date già formattate sulla FormCont ed utilizzare la
tua seconda soluzione in questo modo.
 Dim Inizio As Date
 Dim Fine As Date
 Inizio = Me.Pippo!DataInizio
 Fine = Me.Pippo!DataFine
 If Me!DataReg < Inizio Or _
     Me!DataReg > Fine Then
     MsgBox "La data " & Me!DataReg & " è fuori range!", _
         vbCritical, "Verifica DataReg"
     Cancel = True
 End If
Ma il controllo che mi hai inserito all'interno della routine non
agisce solo sul mese, ma tiene conto anche del giorno delle due date
(Inizio e Fine).
DataReg non deve essere uguale o inferiore solo al "mese" della
DataInizio e, ugualmente, non deve essere superiore solo al "mese"
della DataFine.
E' questo che non riesco a fare, e cioè mettere il controllo solo sul
"mese".
Puoi indicarmi come...???
Grazie Roberto
Paolo

...o Roberto o qualcun altro potrebbe venirmi in soccorso?
Grazie
Paolo

 Grazie
Noto che anche tu pretendi una risposta a breve giro di posta.


Grazie Roberto
Prego.


risolvono o meno il problema da te posto.
Dunque, io ho provato la tua soluzione, ho inserito una SubForm (Pippo)
nella FmCont ed ho anche provato a scrivere:
Dim Inizio As Date
Dim Fine As Date
Inizio = DateSerial(Me!Pippo!AAAA1, Me!Pippo!MM1, 1)
Fine = Fine = DateSerial(Me!Pippo!AAAA2, Me!Pippo!MM2 + 1, 0)
If Me!DataReg < Inizio Or _
    Me!DataReg > Fine Then
    MsgBox "La data " & Me!DataReg & " è fuori range!", _
        vbCritical, "Verifica DataReg"
    Cancel = True
End If
Ma ti assicuro che se io imposto:
MM1 04
AAAA1 2005
MM2 06
AAAA2 2005
...se inserisco 15/03/2005 non me la prende (OK)
   se inserisco 15/06/2005 me la prende (OK)
...se inserisco 15/07/2005 non me la prende (OK)
   se inserisco 15/04/2005 me la prende (Non OK in quanto le date che
inserisco devono essere comprese tra Maggio e Giugno 2005)
Forse mi sono espresso male nei precedenti post
MM1 e AAAA1 è il mese di chiusura cioè il mese che non deve più
permettere registrazioni (non compreso)
MM2 e AAAA2 è l'ultimo mese che può permettere registrazioni
(compreso)
Per questo che volevo agire sui mesi per poi fare > e <
Se non sono stato ancora chiaro ti prego dimmelo...
Paolo

Se non sono stato ancora chiaro ti prego dimmelo...
Non sono sicuro di aver capito proprio tutto bene, ma prova ad appoertare la
modifica di cui sopra e se non funziona rifatti vivo.


Il Fine = Fine = ... è solo un errore di copiatura sul post!
Con la modifica funziona benissimo... ma come non sono riuscito a
vedere che bastava il "+1" al mese non lo so...
Grazie ancora Roberto!
Ciao
Paolo