OVH Cloud OVH Cloud

Optimisation de code

2 réponses
Avatar
RZ
Bonjour,

Je sais que le code suivant n'est pas optimisé car à chaque fois j'ouvre un
recordset et je le ferme. Est-ce qu'il y a un autre moyen sans ouvrir le
recordset et le fermer à chaque itération ?

Merci de votre aide

Richard

Do While Not rstSelection.EOF


Set rstLocation = New ADODB.Recordset

rstLocation.CursorType = adOpenKeyset

rstLocation.LockType = adLockOptimistic

rstLocation.Open "LocationClients WHERE RefLocation= " &
rstSelection!RefLocation, CurrentProject.Connection, , , adCmdTable

rstLocation!DateRetourPrevu = Date + intDelaiLocation

rstLocation!Fature = -1

rstLocation.Update

rstLocation.Close


rstSelection.MoveNext

Loop

2 réponses

Avatar
Gafish
Bonjour,

Tu peux l'ouvrir avant la boucle et le fermer après la boucle.
Pour le fermer, n'oublie par le
Set MonRecordset = nothing
qui d'ailleurs te permettra de ne pas mettre le close.

Arnaud

"RZ" a écrit dans le message news:

Bonjour,

Je sais que le code suivant n'est pas optimisé car à chaque fois j'ouvre
un

recordset et je le ferme. Est-ce qu'il y a un autre moyen sans ouvrir le
recordset et le fermer à chaque itération ?

Merci de votre aide

Richard

Do While Not rstSelection.EOF


Set rstLocation = New ADODB.Recordset

rstLocation.CursorType = adOpenKeyset

rstLocation.LockType = adLockOptimistic

rstLocation.Open "LocationClients WHERE RefLocation= " &
rstSelection!RefLocation, CurrentProject.Connection, , , adCmdTable

rstLocation!DateRetourPrevu = Date + intDelaiLocation

rstLocation!Fature = -1

rstLocation.Update

rstLocation.Close


rstSelection.MoveNext

Loop




Avatar
Rz
Merci pour ta réponse.

Je sais que je peux sortir l'ouverture de la boucle ce que je ne sais pas
c'est comment atteindre l'enregistrement que je veux dans ce recordset. J'ai
essayé avec Find mais ça n'a pas marché. Peut être que je l'ai mal utilisé.
Si tu peux m'aider sur ça....


"Gafish" a écrit dans le message de news:
u#
Bonjour,

Tu peux l'ouvrir avant la boucle et le fermer après la boucle.
Pour le fermer, n'oublie par le
Set MonRecordset = nothing
qui d'ailleurs te permettra de ne pas mettre le close.

Arnaud

"RZ" a écrit dans le message news:

Bonjour,

Je sais que le code suivant n'est pas optimisé car à chaque fois j'ouvre
un

recordset et je le ferme. Est-ce qu'il y a un autre moyen sans ouvrir le
recordset et le fermer à chaque itération ?

Merci de votre aide

Richard

Do While Not rstSelection.EOF


Set rstLocation = New ADODB.Recordset

rstLocation.CursorType = adOpenKeyset

rstLocation.LockType = adLockOptimistic

rstLocation.Open "LocationClients WHERE RefLocation= " &
rstSelection!RefLocation, CurrentProject.Connection, , , adCmdTable

rstLocation!DateRetourPrevu = Date + intDelaiLocation

rstLocation!Fature = -1

rstLocation.Update

rstLocation.Close


rstSelection.MoveNext

Loop