Comment faire une boucle dans un update (SQL Server) depuis Access VBA
Résolu/Fermé
A voir également:
- Comment faire une boucle dans un update (SQL Server) depuis Access VBA
- Windows update 0x80070643 - Accueil - Windows
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
- Filezilla server - Télécharger - Téléchargement & Transfert
2 réponses
yg_be
Messages postés
23494
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 mars 2025
Ambassadeur
1 570
2 juin 2020 à 12:01
2 juin 2020 à 12:01
bonjour, peux-tu utiliser les balises de code quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
yg_be
Messages postés
23494
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 mars 2025
Ambassadeur
1 570
Modifié le 2 juin 2020 à 12:33
Modifié le 2 juin 2020 à 12:33
je ne sais pas ce que tu penses en écrivant "en faisant une boucle dans ma requête".
ce que tu peux faire, par exemple, c'est ceci, à partir du recordset rsCandidats:
ce que tu peux faire, par exemple, c'est ceci, à partir du recordset rsCandidats:
dim popjury as integer, jurynum as integer popjury=0 jurynum=1 Do Until rsCandidats.EOF cursor = cursor + 1 popjury=popjury+1 if popjury > 250 then popjury=1 jurynum=jurynum+1 end if rsCandidats.Edit rsCandidats!NUMERO_ORDRE = cursor rsCandidats!JURY = jurynum rsCandidats.Update rsCandidats.MoveNext Loop
Déjà merci pour ton intervention, j'entends par là la possibilité de faire un update de plusieurs candidats à la fois au lieu de faire une requête à la fois et la répéter tel que c'est fait dans mon code.
Plus concrètement, disons que
- De 1 à 250 : NUMERO_ORDRE de 1 à 250 et
- De 250 à 500 : NUMERO_ORDRE de 1 à 250 et
- De 501 à 600 : NUMERO_ORDRE de 1 à 100 et
J'aimerais donc ne pouvoir faire que 3 requêtes pour chacun de ces cas, ce de façon générique, étant donné que le nombre d'enregistrements de
Merci.
rsCandidats
contient n enregistrements, je dois faire un update de ces candidats mais en bloc de 250. Du 1er au 250ème enrégistrement, NUMERO_ORDRE va aller de 1 à 250 et c'est un numéro de jury; du 251ème au 500ème NUMERO_ORDRE va de 1 à 250 et le numéro de jury incrémente, ainsi de suite.
Plus concrètement, disons que
rsCandidats
a 600 lignes :
- De 1 à 250 : NUMERO_ORDRE de 1 à 250 et
JURY = JURY + 1;
- De 250 à 500 : NUMERO_ORDRE de 1 à 250 et
JURY = JURY + 1;
- De 501 à 600 : NUMERO_ORDRE de 1 à 100 et
JURY = JURY + 1.
J'aimerais donc ne pouvoir faire que 3 requêtes pour chacun de ces cas, ce de façon générique, étant donné que le nombre d'enregistrements de
rsCandidats
varie.
Merci.
yg_be
Messages postés
23494
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 mars 2025
1 570
>
V1ck1ng
2 juin 2020 à 15:02
2 juin 2020 à 15:02
as-tu essayé ma suggestion?
yg_be
Messages postés
23494
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 mars 2025
1 570
>
V1ck1ng
2 juin 2020 à 15:03
2 juin 2020 à 15:03
ton code ne fait pas ce que tu décris, car tu incrémentes toujours cursor.
V1ck1ng
>
yg_be
Messages postés
23494
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 mars 2025
2 juin 2020 à 15:33
2 juin 2020 à 15:33
Oui tu as raison désolé, dans mon exemple NUMERO_ORDRE dans mon exemple va aller de 1 à 500, c'est JURY qui va incrémenter pour chaque 250 lignes. Ceci dit, je vais implémenter ta suggestion et te revenir. Merci
2 juin 2020 à 14:16