PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → identifiant automatique
identifiant automatique
Débuté par David, 02 juin 2004 16:15 - 2 réponses
Posté le 02 juin 2004 - 16:15
Bonjour,

Quelqu'un sais t-il comment mettre en place un identifiant automatique du
style :
FIC000 à FIC999
Posté le 03 juin 2004 - 19:27
"David" <d.ditner@geismar.com> wrote:


Bonjour,

Quelqu'un sais t-il comment mettre en place un identifiant automatique du
style :
FIC000 à FIC999

Bonjour David,

Voici comment faire schématiquement:

1/ Avant tout, pour tous les fichiers concernés de ta base, il est nécessaire
que le nom de l'identifiant soit construit de la même façon. j'ai choisi,
par exemple pour le fichier Clients dont l'abréviation est CLI, IdCLI.

2/Création d'un fichier d'index que je nomme Fichier ayant les rubriques
suivantes: Nom(nom des fichiers de la base), Abr(abréviation des fichiers
sur 3 caractéres) , Index(dernier index utilisé pour le fichier en question
sous forme d'entier).

3/ Description d'un trigger avant (voir aide sur trigger) dans le code d'initialisation
du projet:
// Tout ajout dans un fichier de la base va appeler la
// procédure "CréationIndex"
HDécritTrigger("*","HAjoute","CréationIndex",HTriggerAvant)

4/ Ecriture de la procédure "CréationIndex":
PROCEDURE CréationIndex()
// h.NomFichier est une variable d'état HF contenant le nom
// du fichier concerné par l'ajout.
HLitRcherchePremier(Fichier,Nom,h.NomFichier)
ch est une chaîne = NumériqueVersChaîne(Fichier.Index)
// La ligne suivante correspond à Clients.Cli = "CLI001" si
// le HAjoute s'effectue sur le fichier "Clients". La
// fonction Répète permet ici d'ajouter des "0" afin d'avoir
// des index de longueur identique.
{h.NomFichier+".Id"+Fichier.Abr,IndRubrique}=
Fichier.Abr+Répète("0",3-Taille(ch))+ch
// Incrémentation de l'index
Fichier.Index ++
HModifie(Fichier)

Voila, je ne l'ai pas testé et de plus il n'y a aucun controle, mais cela
doit pouvoir t'aider.

Bon dev,
Eric
Posté le 04 juin 2004 - 11:05
Bonjour,

J'avoue ne pas comprendre l'utilité d'une telle structure mais n'ayant pas
tout les éléments en main je ne jugerais pas.

Toutefois voici une autre idée :

Dans tes fichiers tu crées un champ 'identifiant automatique' et un autre
'Mon ID'
Ensuite le même principe de trigger mais cette fois ci un trigger APRES.

Tu ajoutes un enregistrement sans le champ 'Mon ID', ensuite ton trigger va
construire le champ 'Mon ID' avec le nouvel identifiant automatique et faire
un HMODIFIE.

Ami Calmant
Stéphane


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004