PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → identifiant automatique
identifiant automatique
Iniciado por David, jun., 02 2004 4:15 PM - 2 respostas
Publicado em junho, 02 2004 - 4:15 PM
Bonjour,

Quelqu'un sais t-il comment mettre en place un identifiant automatique du
style :
FIC000 à FIC999
Publicado em junho, 03 2004 - 7:27 PM
"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
Publicado em junho, 04 2004 - 11:05 AM
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