Problème boucle après recopie de fonction
Bonjour à tous
Lorsque je recopie cette fonction dans le module d'une nouvelle version de ma bdd, il me réclame de déclarer "n" alors que j'avais pas besoin dans le module d'origine puis plante à l’exécution.
Je déclare "n" en tant qu'integer et il me sert au comptage des lignes.
J'aimerai comprendre pourquoi cette boucle plante et pourquoi dans l'autre base il ne me demande pas de déclarer "n" svp... :) Mystère ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| Public Function OuvrirListeActionsClient()
'Ouvre la liste des actions à facturer au client et l'insère dans le champ description de la ligne de facture ou bien le libellé de celle ci
DoCmd.OpenForm ("sf groupes interventions"), , , "[numcontact]=screen.activeform.numcontact"
Forms![sf groupes interventions].BtnAppliquerEtFermer.Visible = True
'Efface toute sélection antérieure
DoCmd.SetWarnings False
DoCmd.RunSQL ("update t_rendezvous set t_rendezvous.sélectionner=false")
DoCmd.SetWarnings True
Forms![sf groupes interventions].AllowAdditions = False
MsgBox ("Veuillez sélectionner les actions à inclure dans ce document"), vbOKOnly
End Function
Public Function SélectionListeActionsPourEcriture()
DoCmd.RefreshRecord
Dim Sélection As Recordset
Dim ListeSélection As Variant
Dim i As Integer
Set Sélection = CurrentDb.OpenRecordset("SELECT t_rendezvous.horairedebut, t_rendezvous.horairefin, t_rendezvous.[sélectionner], t_rendezvous.DuréeAction, [Types actions].TypeAction FROM [Types actions] INNER JOIN t_rendezvous ON [Types actions].NumTypeAction = t_rendezvous.TypeAction WHERE (((t_rendezvous.[Sélectionner]) = True))ORDER BY t_rendezvous.horairedebut DESC;")
If Sélection.BOF = True Then
MsgBox "Aucun élément sélectionné", vbCritical
Exit Function
End If
Sélection.MoveFirst
ListeSélection = ""
While Not Sélection.EOF
For i = 1 To n
i = 1 + n
ListeSélection = ListeSélection & "- i" & DateValue(Sélection("horairedebut")) & " > " & Sélection("TypeAction") & " " & " de " & Format(TimeValue(Sélection("horairedebut")), "hh:mm") & " à " & Format(TimeValue(Sélection("horairefin")), "hh:mm") & " (" & Sélection("duréeaction") & " min.)" & "<br>"
Sélection.MoveNext
Next i
Wend
ListeSélection = Left(ListeSélection, Len(ListeSélection) - 1)
Forms("devis et factures").Libellé = Forms("devis et factures").Libellé & "<br>" & ListeSélection
Sélection.Close
Set Sélection = Nothing
DoCmd.Close
'Attribue le numéro de facture actuel aux actions sélectionnées et change l' état de l'action à "facturé"
DoCmd.RunSQL ("update t_rendezvous set t_rendezvous.numfacture = forms![devis et factures]![numdocument],t_rendezvous.etataction='5' where (t_rendezvous.numcontact=forms![devis et factures]![numcontact] and t_rendezvous.sélectionner=true);")
'Annule toute sélection antérieure
DoCmd.RunSQL ("update t_rendezvous set t_rendezvous.sélectionner=false")
End Function |