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é.
grazie per l'aiutocodice: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

Rispondi quotando