Problème d'incrémentation

ricky2004 Messages postés 12 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 22 mars 2005 - 29 nov. 2004 à 10:44
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008 - 3 déc. 2004 à 14:35
Bonjour,

Je travaille sous Access, et dans un formulaire j'aimerais qu'un champ s'incrémente automatiquement à chaque fois que j'ajoute un nouvel enregistrement dans la base (le format est B04 0001 pour le premier enregistrement, B04 0002 pour le deuxième, etc...).
Je maîtrise pas vraiment vb, si quelqu'un pouvait m'aider ce serait cool...

Merci!

3 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
29 nov. 2004 à 10:59
Le principe :

Champ.Text = "B04 000" & Table.Enregistrements.Count

Maintenant, pour coder tout çà, il faudrait connaître le nom des champs et la structure de la base, des tables, ...

+ rajouter une routine qui te permette d'écrire "B04 0010" au dixième enregistrement, et pas "B01 00010"

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
ricky2004 Messages postés 12 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 22 mars 2005
29 nov. 2004 à 11:26
La table elle se nomme Derangement, le formulaire pareil, le champ à incrémenter c'est NumDerangement.
A partir d'un menu, un bouton permet d'ouvrir le formulaire Derangement en mode ajout lorsqu'on doit rentrer un nouveau dérangement. Il faudrait donc que ,lorsque le formulaire apparaît, le champ NumDerangement soit correctement rempli (B04 0016 si le dernier dérangement était B04 0015 par exemple...)

en tout cas merci, je vais regarder un peu ça
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
3 déc. 2004 à 14:35
tu dois faire une requete qui compte le nombre de NumDerangement

req = "select count(*) as max from Derangement;"
adodc.recordsource = req
adodc.refresh

'ensuite du doit recupérer le chiffre

do while not adodc.recordset.eof
num_max=adodc.recordset.field("max").value
adodc.recordset.movenext
loop

'num_max contient ton max que tu doit incrementer

num_max=num_max+1

il suffit de concaténé le resultat dans ton champ

Champ.Text = "B04 000" & num_max

Manu
0
Rejoignez-nous