|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Bonsoir,
Dans une table mèmoire comment mettre des chiffres en continus ? Je m'explique: Cette table est parfois remplit par une requête Ajout, parfois elle est vide, j'ai besoin d'avoir toujours dans le champ "Suivie" le chiffre 1 en première ligne et la suite 2 3 4 5 6 7 8 9 10 etc. sur les autres enregistrement, si je met un numéroAuto ça ne va pas car il y a plusieurs lancement de requête et du coup les chiffres redémarre à 350 par exemple et non à 1. Merci. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : novembre 2006 Messages : 2 200 ![]() |
Bonsoir,
Je serai curieux de connaitre ce qui motive ce besoin ... As-tu remarqué qu'en compactant la base de données, lorsque la table est vide, les numéros automatiques redémarrent à 0. Sinon, si tu initialises ta table avec les numérotation qui te conviennent et qu'au lieu de faire des ajouts tu fais des mise à jour... ça peut le faire, non ?
__________________
............................................................................................ Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés. Les FAQs les tutos Les Sources Access Profitez de ces mines d'or... Postez dans le bon sous forum et mentionnez la version |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Bonjour et Merci,
Je serai curieux de connaitre ce qui motive ce besoin ... Parce que je veux calculer un solde "message précédent" suivant l'exemple de Starec Code :
:Solde: CDbl(SomDom("Qté";"table1";"[ordre]<=" & [ordre])) Je suis clair ? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Renald Chauvet Inscription : avril 2006 Messages : 1 581 ![]() |
peut etre que ce lien pourrait aider
http://www.developpez.net/forums/sho...d.php?t=522337 |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
J'ai fais un essai avec Dans une requête mise à jour mais le résultat est faux il met le même chiffre partout par exemple 5 au lieu de 1 2 3 4 5 6 7 8 etc.
Une idée ? Bon Dimanche |
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 266 ![]() |
Cette sub fera peut-être l'affaire :
Code :
|
||
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Merci Claude, je colle ce sub à quel endrois ?
@ bientôt. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 266 ![]() |
Dans un module.
Lorsque tu veux "renuméroter", tu appelles la sub Code :
call Renuméroter("LeNomdeTaTable","LeNompDuChampAutoNum","leNomDuChampARenuméroter") |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Encore merci Claude,
C'est bon, j'ai bien compris. @+ Bon Dimanche ![]() |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Claude,
Lorsque je compile le code il s'arrête sur : Do Until rs.EOF rs.Edit Je fais comment ? Merci. |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 266 ![]() |
Il te manque probablement une référence.
Ouvre un module. Dans le menu outils / References Coche Microsoft DAO 3.6 Object Library. Compile à nouveau, cela devrait marcher |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Claude,
J'ai bien coché comme tu m'as dis, mais ça ne va pas, j'ai également coché d'autres librairy sans succés. Encore merci. |
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
ça semble fonctionner concernant le problème sur .edit
Maintenant il s'arrête sur cette ligne : Elle est mise en jaune, je dois créer ma requête en sql peut-être ? @+ |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 266 ![]() |
J'ai testé. Si ça marche chez moi, ... chez toi ça doit marcher
2 causes possibles : ou bien : les noms indiqués comme paramètres sont mal orthographiés ou bien : le type de ton champ "A renuméroter" est <> de 'entier'. Pour analyser : 1° dans la sub retire l'apostrophe " ' " devant Debug.print. 2° exécute la sub 3° récupère le sql généré dans la fenêtre d'exécution 4° crée un requête avec ce sql 5° examine la requête en mode 'création' et tu visualiseras ainsi ton problème. Bonne continuation |
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 155 ![]() |
Merci beaucoup Claude,
Je reprends un rythme normal, le soleil est de retour j'ai beaucoup de travail, cette fois ton code fonctionne. ![]() Encore merci. @+ |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 266 ![]() |
Bonjour Nounours1,
Pour que ceci fonctionne il faut : 1° que la table contienne un champ qui permet de trier la table par ordre de création. Par exemple un champ du type ‘NuméroAuto’. Cela pourrait aussi être un champ qui, à la création de l’enregistrement, aurait reçu la valeur ‘maintenant()’ par défaut. Peu importe que ce champ soit la clé. 2° Que la table contienne un autre champ: celui destiné à recevoir le N° de suite continue. 3° A l’instant où on souhaite renuméroter, on appelle (call) la sub avec les 3 paramètres : ‘le nom de la table’ ‘le nom du champ qui contient la séquence de création’ ‘le nom du champ qui doit accueillir le N° de suite’ 4° Que cette fonction soit logée dans un module. 5° Dans les références cocher Microsoft DAO 3.6 Object Library Au plaisir. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com