Count qui ne fonctionne pas

Résolu
Signaler
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009
-
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009
-
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

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
15
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 ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
15
Trouvé sur un autre site :
con.Execute ("SELECT @@Identity").Fields(0) == Te retournera la valeur du dernier identifiant auto.
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

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()
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

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 ...
Messages postés
28
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
29 mars 2009

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 !!