Comment voir le nombre total d'un article dans une base de donnée

Résolu
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 3 avril 2008 à 19:23
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 7 avril 2008 à 09:59
Bonjour , j'ai une base de donnée avec une table journalier, la dedans ce trouve des articles vendus
j'ai ex:
Codebar,prix,quantité,département,groupe,ect.......
dans la vente de la journée il y a plusieur fois la même chose,
donc je vend peu etre 10 X cocacola 50Xpepsi ect......

j'ai fait le code si dessous pour calculer le nombre total d'article.
comment faire pour aller plus vite ??????
évidament je n'ai pas de référence d'article pour le controle puisque on ne sait pas ce qui vas etre vendu.
Merci

nitul = 0
qqaa = 0
Set db = OpenDatabase(App.Path & "\manager.mdb")
Set rs = db.OpenRecordset("journalier")
If rs.RecordCount > 0 Then
 Set rd = db.OpenRecordset("journalier")
 rs.MoveFirst


 Do Until rs.EOF = True
 nitul = rs!cod_prod
  rd.MoveFirst
 Do Until rd.EOF = True
 If rd!cod_prod = nitul Then
 nitul1 = nitul1 + rd!quantité
 End If
 rd.MoveNext
 Loop
 
Set rt = db.OpenRecordset("journalier_detaille")
If rt.RecordCount > 0 Then
rt.MoveFirst
 Do Until rt.EOF = True
If rt!cod_prod = nitul Then
qqaa = 1
End If
rt.MoveNext
Loop
End If
If qqaa = 0 Then
rt.AddNew
rt!cod_prod = rs!cod_prod
rt!design = rs!design
rt!numero_dep = rs!numero_dep
rt!departement = rs!departement
rt!quantité = nitul1


rt.Update
End If
nitul1 = 0
qqaa = 0
 rs.MoveNext
 Loop
 End If

14 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 avril 2008 à 15:18
t'as pas suivi:

set db = OpenDatabase(App.Path & "\manager.mdb")
set rs = db.OpenRecordset("SELECT cod_prod, SUM(Quantité),design......"

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 avril 2008 à 20:29
Je sais c'est php mais le sql n'est qu'à adapter !!
http://www.siteduzero.com/tuto-3-140-1-lire-des-donnees.html#ss_part_4
_______________________________________________________________________
VB.NETis good ...VB6is better
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 09:36
clair que l'approche par Recordset est plus lente (tu récupères toutes tes données...)
mais là, elle est particulièrement maladroite (pas une seule requete)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 09:44
par exemple:

SELECT cod_prod,SUM(Quantité),design,numero_dep,departement FROM journalier GROUP BY cod_prod,design,numero_dep,departement

te permet de récupérer le cumul d'articles vendus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
4 avril 2008 à 10:54
On oublie l'acces a "recordcount" et on fait une requete en  "SELECT Count(*) AS Total
FROM MaTable;"

@+

E.B.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 11:00
clair...

me semble même que SELECT COUNT(0) ...

a confirmer par les SQLpros
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
4 avril 2008 à 18:34
Bonjour et Merci de vos réponse, je suis super novice en sql .

pour la requete
db.execute "SELECT cod_prod,SUM(Quantité),design,numero_dep,departement FROM journalier GROUP BY cod_prod,design,numero_dep,departement"
il me dit : impossible de faire une requete de  selection

et le total n'est pas de tout les articles mais le total des articles par numéro 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 22:08
pour un Select, faut un OpenRecordSet
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
5 avril 2008 à 07:09
oui sa je sait et je l'ai fait
avec Set rs = db.OpenRecordset("journalier")
mais c'est le même résultat
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 avril 2008 à 07:46
hein ? il te dit encore "impossible de faire une requete selection ?"
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
5 avril 2008 à 08:06
Bonjour , oui il me mes encore ce message
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
6 avril 2008 à 10:03
Bonjour
Voici ce que j'ai fait


Set db = OpenDatabase(App.Path & "\manager.mdb")
Set rs = db.OpenRecordset("SELECT cod_prod,SUM(quantité),design,numero_dep,departement FROM moi GROUP BY cod_prod,design,numero_dep,departement")


qtt1 = rs!design il me donne COCA-COLA
qtt2 = rs!cod_prod il me donne 1
qtt3 = rs!quantité il me donne élément non trouvé dans c'ette sélection
et pourtant il y est
il  y a 10 X COCA-COLA DANS LA BASE DE DONNEE
ps:le champs rs!quantité est numérique je sait pas si sa fait quelque chose

Merci pour votre aide
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
6 avril 2008 à 10:20
Voila sa fonctionne avec ceci

Set rs = db.OpenRecordset("SELECT cod_prod,SUM(quantité) as total_article,design,numero_dep,departement FROM moi GROUP BY cod_prod,design,numero_dep,departement")
rs.MoveFirst
Do Until rs.EOF = True
 qqt = rs!total_article
qtt1 = rs!design
qtt2 = rs!cod_prod
rs.MoveNext
Loop
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 avril 2008 à 09:59
ok, effectivement un alias de champ peut aider ^^

tu devrais avoir de meilleures performances qu'avec ton ancien code
0
Rejoignez-nous