|
Sujet n°243 |
Question sur le code suivant....
par stefchar le 16/05/2009 : 11:24 |
Bonjour !
Sur le site de Walter Stucki, j'ai trouvé cette page qui pourrait
franchement m'aider !
le voici http://homepage.bluewin.ch/wstucki//Tables.htm#Incrementer
Moi ce qui m'intéresse c'est ceci :
Pour une bdd accédée simultanément par plusieurs usagers, il est préférable
d'utiliser l'algorithme suivant:
If NewRecord Then
txtNoCompte=1 + Nz(DMax("[NoCompte]","tblClients"), 0)
Bien entendu, dans les deux cas, la rubrique à incrémenter automatiquement
sera de type Indexé sans doublon.
Ma question est où dois-je mettre ce code ????
Merci
STEF |
Réponse n° 1 |
par 3Stone le 16/05/2009 : 13:40 |
Bonjour Webmaster HVFE
Ma question est où dois-je mettre ce code
Walter Stucki propose de le placer comme valeur par défaut dans la propriété de la zone de texte dans le formulaire. Cela à l'inconvéniant de ne pas permettre un gestion d'erreur simple. Car, il ne faut pas oublier, que si justement la base fonctionne en multi-utilisateurs, on risque d'avoir des problèmes de doublons... un autre utilisateur voulant, au même moment, créer un enregistrement.
Pour éviter cela, il suffit de placer le code dans l'événement "Form_Current" (sur activation) du formulaire. En cas d'erreur (lors d'une création simultanée d'une même clé primaire) elle peut alors être récupérée (erreur numéro 3022) via l'événement "Form_error" (Sur erreur) et ainsi relancer une nouvelle tentative de génération de clé primaire.
Note: Le champ que l'on souhaite ainsi incrémenter se doit d'être une clé primaire - donc indexé sans doublons.
Cordialement, Pierre(3stone)
|
[ Retour à la liste des sujets ]
| Recherche
Préférences
1 membre
Connectés :
( personne )
|