Renuméroter numéro de facture ayant des "trous" - VB/VBA/VBS - Programmation
Marsh Posté le 17-08-2009 à 14:50:26
Ce sont les n° de factures ou de devis qui doivent se suivre ? Car c'est galère de tout redécaler à chaque fois. Le plus simple c'est de mettre dans ta table Facture le n° du devis correspondant et dans ce cas tu t'en fiches que tes devis ne se suivent pas car les factures, elles, le seront.
Marsh Posté le 17-08-2009 à 14:30:43
Bonjour à tous.
Sous access 97 j'ai une Table qui se nomme "Archive Mouvement" dans laquelle se trouve un champ
numérique "NUM_DEVIS" et qui s'incrémente automatiquement de 1 par rapport au dernier devis réalisé à
l'aide de plusieurs requêtes.
Chaque devis ne doit avoir qu'1 seul numéro mais peut comporter plusieurs lignes ( pour la désignation )
Je ne peux donc pas mettre ce champ en 'NuméroAuto'
Ce numéro de devis deviendra ensuite un numéro de facture lorsque le client l'aura validé.
Mais, chaque devis n'ayant pas été retenu par le client est supprimé de ma base... laissant un "trou" dans la suite
logique des numéros. ( dans l'exemple ci-dessous , il me manque les N° 4 et 6 )
exemple :
NUM_DEVIS Désignation date
1 élagage arbre 01/07/2009
1 débroussaillage 01/07/2009
2 Construction Abris 03/07/2009
3 Mise en peinture mur 05/07/2009
5 tapîsserie 06/07/2009
5 réagréage sol 06/07/2009
7 miroiterie 10/07/2009
7 peinture 10/07/2009
7 tonte pelouse 10/07/2009
Je recherche donc le moyen de modifier les numéros ( autre qu'à la main ) afin de combler "les trous" et en respectant le nombre de lignes liés au numéro unique de devis.
Dans mon exemple , il faudrait que les deux lignes du devis numéro 5 deviennent le numéro 4
et que les trois lignes du devis numéro 7 deviennent le numéro 5 ... et ainsi de suite.
J'aimerai pouvoir effectuer cette opération simplement en cliquant sur un bouton de mon formulaire
qui exécuterai les actions nécessaires sachant que le premier numéro de devis doit être = 1.
car comptablement, les N° de factures doivent impérativement se suivrent.
Merci de votre aide car je n'ai aucune connaissance pour effectuer cette tache.
Cordialement.
Pierre