PB code ne s'execute pas entierement

Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003
-
Bonjour a tous,

J'ai un problème sous access.
Alors j''ai une table tres mal faite (c'est un import).
Bref, dans cette table il y a des doublons dans les clients.
Au final je dois me retrouver avec une autre table ou l'on doit additionner les montants dans une colonne puis la quantité en heure dans une autre colonne des clients mis en double.
Je m'y suis pris de cette maniere:
Dans une autre table j'ai pris tous client en enlevant les doublons. A present je veux donc pouvoir additionner les montant des doublons pour les mettre dans la bonne table en face de chaque client.
Voici mon code:
"
'Permet de sommer les montantreg et la totalquant
Private Sub Commande0_Click()
Dim db As Database
Dim rec, rec1 As Recordset
Dim Montant As Double

Set db = CurrentDb()
Set rec = db.OpenRecordset("tnontier")
Set rec1 = db.OpenRecordset("attes1")

rec.MoveFirst
rec1.MoveFirst

Do While Not rec.EOF
Do While Not rec1.EOF
If rec1!tier = rec!tier Then
rec.Edit
rec!montantreg = rec!montantreg + rec1!montantreg
rec!totalquant = rec!totalquant + rec1!totalquant
rec.Update
End If
rec1.MoveNext
Loop
rec1.MoveFirst 'met le pointeur au début
rec.MoveNext
Loop
MsgBox "cfini"

End Sub
"

Je pens que mon code est bon mais j'ai le problème suivant c'est que lorsque je l'éxécute en appuyant sur un bouton dans un formulaire, il exécute le code mais seuleument pour une partie de la table. Puis apres lorsque j'ai appuié sur le bouton je n'ai plus acces du tout a access, l'ordi se bloque et je suis obligé pour reprendre la main de faire ctrl alt supr.

Bon j'espère que j'aurais réussi a me faire comprendre mais n'hésitez pas a me demander des renseignements

Merci

Malcom78

2 réponses

Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
12
et si tu le fais en plusieurs etape ?

crée une table tmp avec 2 champs : clé du client (numCli) & (montant) total

requete1
insert into tmp(numcli,montant) select distinctrow(numcli),sum(montant) form clients group by numcli

ca devrait marcher
Messages postés
29
Date d'inscription
mardi 25 juin 2002
Statut
Membre
Dernière intervention
31 mai 2003

Yes merci, c'est une bonne idée de faire ca directement en sql puis en plus c'est bcp plus court.
Je vais faire l'essai et je pense que je ne rencontrerai pas de blem.

Merci encore

Malcom78