Count qui ne fonctionne pas

Résolu
Splif62 Messages postés 28 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 29 mars 2009 - 22 mars 2009 à 17:09
Splif62 Messages postés 28 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 29 mars 2009 - 26 mars 2009 à 00:52
Salut tout le monde !
je développe une application de gestion de commande en vb.net et access et j'utilise ADO
mais voila, je rencontre un problème :
je voudrais compter le nombre de commande présent dans ma table commande.
une fois celui ci récupéré j'aimerais l'incrémenter de 1 afin de générer un numéro automatique
mais le problème c'est que cela ne me renvois rien.

Voila le code que je tente d'utiliser :

rec.Open("SELECT count (numero_commande) FROM commande ", con)
        nouveau_numero_commande = rec("numero_commande").Value.ToString + 1
        label_numero_commande.Text = nouveau_numero_commande
        rec.Close()

petite précision, nouveau_numero_commande est une variable qui contient le résultat du count.
j'ai tenter en le mettant directement dans le label " label_numero_commande " mais cela ne fonctionne pas non plus.

Aidez moi !!!! s'il vous plait !!!!

5 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 mars 2009 à 17:52
rec.Open("SELECT count (numero_commande) AS compteur FROM commande ", con)
nouveau_numero_commande = rec("compteur").Value.ToString + 1
label_numero_commande.Text = nouveau_numero_commande
rec.Close()

Mais c'est quand même une mauvaise idée de faire ce que tu fais : pourquoi n'utilises-tu pas l'auto-incrément ?
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 mars 2009 à 19:02
Trouvé sur un autre site :
con.Execute ("SELECT @@Identity").Fields(0) == Te retournera la valeur du dernier identifiant auto.
3
Splif62 Messages postés 28 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 29 mars 2009
26 mars 2009 à 00:52
J'ai trouvé comment faire !!
Voici le code si cela peut aider quelqu'un !!! (je l'espère !!!)

Pour trouver le dernier numéro (identifiant) d'une table enregistré

Dim num_max
As
Integer
'variable qui contient le dernier numéro (id) de la tablerec.Open(

"SELECT MAX ( ID)  AS recup_num_max FROM table", con)num_max = rec(

"recup_num_max").Valuerec.Close()
3
Splif62 Messages postés 28 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 29 mars 2009
22 mars 2009 à 17:56
Merci de ta réponse ghuysmans99 !!

Je n'utilise pas l'auto incrément puisque je dois gérer en fonction de ce numéro un numéro de ligne de commande.

enfin je ne sais pas trop comment faire, je piétine un peu il faut dire ...
0

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

Posez votre question
Splif62 Messages postés 28 Date d'inscription vendredi 28 mars 2008 Statut Membre Dernière intervention 29 mars 2009
25 mars 2009 à 23:24
Bon effectivement, j'ai tout changé pour me servir des identifiants.
Cela simplifie grandement les choses !!
Merci pour tes codes GHUYSMANS99, ils m'auront néanmoins étés utiles !!
cordialement.

Cependant, je ne comprends pas bien ce code :

con.Execute ("SELECT @@Identity").Fields(0) == Te retournera la valeur du dernier identifiant auto.

a quoi correspond @@Identity ? au nom de ma table ?

Merci d'avance !!
0
Rejoignez-nous