Newsgroup: it.comp.appl.access
Titolo: Curioso FindFirst con date............

Salve a tutti,
ho notato una cosa strana nel trovare specifiche date specialemente quelle
festive.
Ecco qui il mio codice:
Private Sub data_AfterUpdate()
Dim festivo As String
festivo = "[data]= # & me.data & #"
Form_InsFestivita.RecordsetClone.FindFirst festivo
If Form_InsFestivita.RecordsetClone.NoMatch Then
GoTo fine
Else
MsgBox "Presenza festiva"
fine:
DoCmd.Close acForm, "InsFestivita"
End If
End Sub
Premetto che ho creato una tabella, da aggiornare ogni anno per le varie
festività pasquali, ho impostato il campo data al formato italiano
tradizionale, e, cioè, "gg/mm/aaaa".
La cosa curiosa è che quando vado ad effettuare una ricerca per sapere se
una determinata data è da considerare giornata festiva, se digito 01/01/2002
mi trova la data festiva; se digito 01/11/2001 non me la trova così se
inserisco il 25 Aprile (Anniversario della Liberazione) 25/04/2002 non me la
trova e se inserisco 04/25/2002 me la trova e, subito dopo, il campo
precedente si aggiorna a 25/04/2002 e così non mi trova nemmeno la festività
del 1° maggio.
Il controllo non associato è di formato data con formato "gg/mm/aaaa".
MOLTO STRANO!!!!
Cosa è accaduto???
Grazie in anticipo.

 trova e anche nel formato 04/25/2002 e, subito dopo, il campo




non è strano è solo che da codice si utilizza esclusivamente il
formato anglosassone....
mm.gg.aa
Saluti.
Emanuele.

 ha scritto nel messaggio
news:swH38.2818$vh.1...@twister1.libero.it...

A parte la sintassi da usare nella tua routine per la variabile *festivo*,
se vai sul Sito Comune (link qui sotto) nella Sezione General troverai una
FAQ  di G. Paolo Bizzaro e Silvio Mazzetto intitolata "Conteggio dei giorni
lavorativi tra due date."; in questa FAQ sono contenute due funzioni: la
prima si chiama Pasqua ed è in grado, fornito l'anno, di dirti in che data
cade la Pasqua; la seconda si chiama Festivo e, fornita una data, è in grado
di dirti se si tratta oppure no di un giorno festivo. Naturalmente la
funzione Festivo usa anche la funzione Pasqua e va solo personalizzata per
il Santo Patrono della città.
Così facendo eviterai di gestirti una tabella con i giorni festivi dell'anno
in corso.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:6jmv4u8u13638bmke...@4ax.com...

Possibile che non ci sia un modo???? Allora in fase d'inserimento di
qualsiasi campo di tipo Data/ora devo per forza utilizzare il formato
anglosassone??? Bah??? Comunque grazie lo stesso.
Marco.


Non è affatto necessario che tu digiti i campi Data/ora nel formato
anglosassone; l'importante è che se la formattazione non l'hai fatta al
momento della digitazione tu la faccia al momento del confronto (vedi Sito
Comune, Sezione Queries, la FAQ di Federico Luciani intitolata "Problemi con
le date nelle stringhe SQL.").


 wrote in message
6jmv4u8u13638bmke...@4ax.com...


Non è da codice, ma sono le query e le espressioni che usano quella
notazione...
Antonio

 wrote in message
1rU38.5216$Mj4.1...@twister2.libero.it...

A chi può servire:
Public Function converti(X As Date) As String
    Dim gg As String, mm As String
    gg = Left(X, 3)
    mm = Mid(X, 4, 3)
    converti = "#" & mm & gg & Right(X, 2) & "#"
End Function
Antonio

 Ti ringrazio Roberto, ma sai com'è solo per piccole gestioni non mi va di
fare un "taglia e incolla" anche per il fatto che in Access ed in
particolare in codice Visual Basic non me la cavo tanto bene e, quindi, se
dovessi "copiare" il codice da te suggerito (che tra l'altro ho visionato
tempo addietro) non ci capirei abbastanza. Io mi muovo a piccoli passi e
cerco di ragionarci sopra insomma, "mi" sperimento.
Ora volevo solo sapere se questo "problemino" del FindFirst con le date si
poteva risolvere in qualche riga, non so, di conversione o, magari, doverla
"dimensionare" o che altro.
Grazie ancora, sei, come al solito, gentilissimo.
Marco.

 Marco.
--


 digitata cosě non hai scampo da usare la funzione Format." ??? Allora
significa che c'č un modo? cioč dovrei introdurre il format della data nel
mio codice?? Se ciň č vero ci ho gia' provato ma non so l'esatta sintassi
per dichiarare, nel codice, il formato di data. Puoi illuminarmi? Grazie!
Marco.

 Marco.
Onestamente pensavo di averti dato la giusta dritta con il mio messaggio
delle 14:57 dove ti invitavo a prendere visione dell'esempio di Federico
Luciani pubblicato sul Sito Comune.
Comunque, a mio avviso la sintassi della riga VBA per impostare la variabile
*festivo* dovrebbe essere:
festivo = "[data]= #" & Format$(me!data, "mm/dd/yyyy") & "#"
Ti sconsiglio però di chiamare data tuoi campi e/o controlli: è un nome
riservato, potrebbe crearti degli imprevisti ed inaspettati
malfunzionamenti.


 ha scritto nel messaggio
news:mJY38.647$6e5....@twister2.libero.it...

 GRAZIEEEEEEEEEEEEEEEE!!!!
A diro il vero non ci ho nemmeno provato a rivedere quello che mi hai
giustamente suggerito perchè, sicuramente, avrei dovuto estrapolare quello
che tu mi hai gentilmente e fedelmente trascritto.
In futuro accetterò in via del tutto prioritaria le tue "dritte".
Grazie ancora, ora provo!
Ciao.
Marco