Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2011, 11h02   #1
Membre à l'essai
 
Inscription : février 2011
Messages : 76
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 76
Points : 20
Points : 20
Par défaut Retranscrire une Requête avec calcul en VBA

bonjour,
j'ai une requête qui calcule une quantité totale, par matière.
dans l'analyseur de requête, la colonne ou se trouve le résultat, est correcte, c'est a dire que dans cette colonne le résultat est bien calcule et qu il n y a pas d erreur.

Mon problème, c'est que dans vba, quand j affiche le résultat, non seulement il n est pas bon, mais en plus, je ne sais pas a quoi il correspond.

voici mon code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
selmptot = "select MPF.NomMP, QteDispo, round(sum(QtekgNecessaire),4) as qtetotmputilisee from MPF, MATIERE_PREMIERE as mp"
selmptot = selmptot & " where MPF.NomMP=mp.NomMP and RefFou='MPFT'"
selmptot = selmptot & " group by MPF.NomMP, QteDispo;"
Set rsmptot = CurrentDb.OpenRecordset(selmptot)
rsmptot.MoveFirst
Do Until rsmptot.EOF
Dim qtetotmp
Dim qtempstock
Dim nommp
qtetotmp = rsmptot.Fields("qtetotmputilisee").Value
nommp = rsmptot.Fields("NomMP").Value
MsgBox (nommp & ", " & qtetotmp)
Dim majbesoin As String
rsmptot.MoveNext
Loop
xargin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 13h30   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Peux-tu poster la requête qui fonctionne ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 13h57   #3
Membre à l'essai
 
Inscription : février 2011
Messages : 76
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 76
Points : 20
Points : 20
voici ma requete:

Code :
1
2
3
select MPF.NomMP, QteDispo, round(sum(QtekgNecessaire),4) as qtetotmputilisee from MPF, MATIERE_PREMIERE as mp
where MPF.NomMP=mp.NomMP and RefFou='MPFT'
group by MPF.NomMP, QteDispo;
xargin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h14   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
En effet il s'agit de la même requête.

Tu devrais typer tes variables.
Les déclarer avant la boucle et non dedans.

Il se peut que comme il s'agit d'une requete dans VBA elle ne soit pas optimisé. Crée une requete avec des inner join au lieu de la syntaxe WHERE.

Sinon passe par une requete sauvegardée via la méthode CreateQuerydef.

Plusieurs piste à tester comme tu le vois.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 09h33   #5
Membre à l'essai
 
Inscription : février 2011
Messages : 76
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 76
Points : 20
Points : 20
en effet, merci pour ces pistes que je vais étudier

J'édite mon message pour vous dire que cela fonctionne, j'ai déclaré mes variables en dehors de ma boucle.
xargin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h03.


 
 
 
 
Partenaires

Hébergement Web