Numéro de facture automatique [Résolu]

Messages postés
55
Date d'inscription
samedi 11 avril 2009
Dernière intervention
28 juin 2018
- - Dernière réponse : 4u4me4us
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
- 31 mars 2011 à 10:18
bonjour,
j'ai une application de facturation en vb2005 avec une BDD access, ce que je veux c'est mettre un numéro automatique à chaque nouvelle facture tout en prenant en considération l'année comme le modèle ci-après:
FC01-2011

alors quand je clic sur le button ajouter je veux qu'il m'affiche le nouveau numéro de la nouvelle facture dans le txtnum.

merci pour votre aide
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
3
Merci
Je vois deux solutions
1)
hex(cint(Mid(DateAndTime.Timer.ToString, 7,3))) &"-"& date.Now.Year

Timer est utiliser pour avoir une base aléatoire et unique. G pris 3 caractères tu peut en prendre plus (attention au point et ne pas dépasser un int). la conversion en hexa est pour le fun, pour avoir des "ABCD...F"

2)
Tu créer une variable et à chaque nouvelle facture tu l'incrémente de 1. Tu la converti en hexa et tu ajoute une série de 0. Exemple "000001","000002"..."00000A"..."0000B1" etc. Cela te garanti que ta facture a un numéro unique et tu sera facilement combien tu en as fait. Quand tu ferme ton prog tu enregistre ta variable dans un fichier ou autre et à l'ouverture tu va la récupérer pou ne pas recommencer à zérro. Voici un exemple de code
v_NbHexa = v_NbHexa +1
MsgBox(Strings.Right("00000" & Hex(v_NbHexa + 1), 5)) &"-"& date.Now.Year

Le plus simple c la méthode 1 car tu c que la valeur et unique et tu peux l'utiliser pour sauver les factures sur le réseau. La deux t'obligera à des contrôles si tu veux enregistrer en réseau.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de 4u4me4us
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
2
Merci
Déjà il faut que tu me dises si une d solution que je transmis t'intéresse et la quelle.
Si je résume la première généré aléatoirement un numéro
La seconde tu dois gérer toi même le numéro


Tu dis "je veux récuperer le dernier numéro de facture stocké dans ma BDD" Pour quoi ne par faire du champ Facture un numéro auto? Comme ça tu laisse la db gérer.

3ème solution que tu peux utiliser.

Que choisis tu?
Commenter la réponse de 4u4me4us
Messages postés
55
Date d'inscription
samedi 11 avril 2009
Dernière intervention
28 juin 2018
0
Merci
Bonjour 4u4me4us,
merci de ton intention à ma question mais comme je suis débutant j'ai pas bien piger votre réponse svp détaille du code.
en plus je veux récuperer le dernier numéro de facture stocké dans ma BDD et afficher le nouveau numéro dans le textbox.
merci pour votre aide c très urgent
Commenter la réponse de elwadeh
Messages postés
55
Date d'inscription
samedi 11 avril 2009
Dernière intervention
28 juin 2018
0
Merci
Bonjour,
c la prmière solution que je trouve idéale puisque je suis débutant et je suis d'accord pour votre proposition pour créer un champ facture un numéro automatique.
mais toujours comme ce modéle FC01-2011


merci infiniment.
Commenter la réponse de elwadeh
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
0
Merci
Je détaille de droite à gauche :
hex(cint(Mid(DateAndTime.Timer.ToString, 7,3))) &"-"& date.Now.Year
code retourne
----------------------------------------------------------
date.Now.Year l'année actuel
& "-" & & set à concaténé donc à la chaine en concat "-"
DateAndTime.Timer.ToString retourne le temps en s ce qui tape pour en savoir plus
Mid(DateAndTime.Timer.ToString, 7,3) Mid coupe la chaine là après le 7ème en prend 3 lettre
cint( converti le tout en entier
hex( converti tout en hexa

J'ai pensé à autre choses vu que tu dis "je veux récuperer le dernier numéro" et tu dis "mais toujours comme ce modéle FC01-2011". Il faut que le champ de facture soit un string et que l'id de la table soit un numéro auto. Pour retrouver le dernier tu fera une requête sur l'id.
Commenter la réponse de 4u4me4us
Messages postés
55
Date d'inscription
samedi 11 avril 2009
Dernière intervention
28 juin 2018
0
Merci
Bonjour,
merci pour votre réponse
je veux juste savoir qu'est ce que je doit faire comme déclaration dans le form et qu'est ce que je doit faire dans le button ajouter pour qu'il m'affiche le nouveau numéro.
merci d'avance.
Commenter la réponse de elwadeh
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Dernière intervention
30 octobre 2013
0
Merci
Tu dis "je doit faire dans le button ajouter pour qu'il m'affiche le nouveau numéro."
dans ton bouton tu peut faire MsgBox(Hex(CInt(Mid(DateAndTime.Timer.ToString, 7, 3))))
Commenter la réponse de 4u4me4us

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.