Salve a tutti;
il codice che segue serve a individuare alcuni record e accodarli a una nuova tabella. Alcuni campi da accodare sono delle date; succede però che in alcuni casi il giorno e il mese vengano scritti invertiti (invece di scrivere 1/7/2009 scrive 7/1/2009). Il problema è che non lo fa sempre e non si capisce perché.
codice:
DoCmd.SetWarnings False

'Svuotare la T_H10D
Dim Sth10 As String
Sth10 = "DELETE * from T_H10D"
DoCmd.RunSQL Sth10


Dim Istituto, Scheda, CodiceFs, MdcR As String
Dim DtaRic, DtaDim As Date
Dim Conta, A As Long
Dim ASql As String


Conta = 0
DoCmd.GoToRecord , , acFirst

Do While Conta < ((Me.NumeroMax) - 1) 'L'ultimo record è vuoto
CodiceFs = ""
MdcR = ""
Istituto = ""
Scheda = ""

CodiceFs = Me.CodFisAss
MdcR = Me.MDC
DtaDim = Me.Dd
Istituto = Me.IdeIst
Scheda = Me.NmrSch
DtaDim = Me.Dd
DtaRic = Me.DR

DoCmd.GoToRecord , , acNext
    A = 0
   
    A = DateDiff("d", DtaDim, Me.DR)
    If Me.CodFisAss = CodiceFs And Me.MDC = MdcR And A <= 30 Then
        'Esegui query
        ASql = "INSERT INTO T_H10D ( Istituto, Scheda, CF, MdcR, DtaDim, DR, Intervallo ) " & _
        "SELECT " & Istituto & ", " & Scheda & ", '" & Me.CodFisAss & "', '" & Me.MDC & "', #" & Format(DtaDim, "dd/mm/yyyy") & "#, #" & Format((Me.DR), "dd/mm/yyyy") & "#, " & A & " ;"
    DoCmd.RunSQL ASql
        End If

Conta = Conta + 1
Loop

DoCmd.SetWarnings True
grazie per l'aiuto