Gestion d'échéance

raya87 - 29 janv. 2016 à 10:48
 raya87 - 29 janv. 2016 à 12:14
Bonjour,
j'ai écris un code qui gère les dates d'échéance des dossiers, jusqu’à mnt on ma demander d'afficher d'échéance sur 10 jours une seul fois, là c'est facile j'ai utiliser adddate et s'est fait.
MAIS hier on m'a demander de :

tant que (date_realisation) est vide la date d'échéance doit s'afficher chaque 10 jours et en plus de ça RESTER afficher pendant 5 jours, alors je commence à galérer je ne sais pas comment faire.

voici mon code:

Dim rsreg As ADODB.Recordset
Dim rsintregreg As ADODB.Recordset


Set con = CurrentProject.Connection
Set rsreg = New ADODB.Recordset

''
rsreg.Open "[TabInterval]", con, 1, 3

'
Do While rsreg.EOF = False

N_Permis = rsreg("n_doss")
date_recp = rsreg("Date_Reception")
date_repo = rsreg("date_report")
date_real = rsreg("date_realisation")

If IsNull(date_real) Then
If IsNull(date_repo) Then
date_recp = DateAdd("d", 10, [date_recp])
Else
'If Not IsNull(date_repo) Then
date_repo = DateAdd("d", 10, [date_repo])
End If

End If


Debug.Print date_repo, "**", date_recp


rsreg("rappel_report") = date_repo
rsreg("rappel_reception") = date_recp
rsreg.MoveNext
Loop
'
Set rsreg = Nothing

GoTo Echenq

'requete echeance date reg
Echenq:
Dim date_sys As Date

date_sys = Format(Now, "dd/mm/yyyy")
Dim ech As Date

Dim rsg As ADODB.Recordset
Dim rsp As ADODB.Recordset
Dim rsr As ADODB.Recordset

'
Set rsg = New ADODB.Recordset
Set rsp = New ADODB.Recordset
Set rsr = New ADODB.Recordset

rsg.Open "[TabIntervall]", con, 1, 3
rsp.Open "[not_Recep]", con, 1, 3
rsr.Open "[not_rep]", con, 1, 3
'DoCmd.RunSQL "drop table dbo.not_Recep"

sqlIntEch2 = "delete from dbo.not_Recep "
DoCmd.RunSQL sqlIntEch2

sqlIntEch3 = "delete from dbo.not_rep"
DoCmd.RunSQL sqlIntEch3


Do While rsg.EOF = False

date_rec = rsg("rappel_reception")
date_rep = rsg("rappel_report")
N_Permis = rsg("n_doss")

ech = date_rec
ech1 = date_rep


If ech = date_sys Then
rsp.AddNew
rsp("n_doss") = n_doss
'rsp("Date_Ech") = ech
rsp.Update
rsp.MoveNext
End If

If ech1 = date_sys Then
rsr.AddNew
rsr("n_doss") = n_doss
'rsr("Date_Ech") = ech
rsr.Update
rsr.MoveNext
End If


'Debug.Print ech, "___", n_doss
rsg.MoveNext
Loop


con.Close
Set con = Nothing
Set rsg = Nothing
Set rsp = Nothing
Set rsr = Nothing

1 réponse

alors code d'affichage chaque 10 jours effectué YEY pour moi
un de moins,
la suite et bien tjr rien :(
Rejoignez-nous