Visites

   visiteurs

   visiteurs en ligne

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 biggrin

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

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut