GNT sans publicité, site mobile, fonctionnalitées exclusives...

Passage numérique vers Id Automatique

Le
Hasan Ozdil
Bonjour,

J'ai découvert Windev il n'y a pas très longtemps et je rencontre un
premier gros problème suite à une migration de données.

J'ai une table qui possède un id de type numérique. J'aimerais que
pour la prochaine version du logiciel passé cet id en type id
automatique.

Le changement de type ne pose pas de problème en soi, mais lors de
l'ajout d'un nouvel enregistrement. L'id automatique commence à 1

Je suis persuadé qu'il y a une option quelque part qui me permettrait
de lui faire prendre en compte le dernier id.

Si qqun a une solution à ce problème qu'il n'hésite surtout pas

Merci Beaucoup
Hasan OZDIL, Bruxelles
Lire les 4 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #14268781
Le 6 avril 2006 à 14:39, dans
Ozdil nous disait :

Le changement de type ne pose pas de problème en soi, mais lors de
l'ajout d'un nouvel enregistrement. L'id automatique commence à 1...



Je suis persuadé qu'il y a une option quelque part qui me permettrait
de lui faire prendre en compte le dernier id.



Lors du premier ajout que vous ferez dans votre fichier modifié, il
faudra lire au préalable la valeur du plus grand id, puis lors du
HAjoute, utiliser l'option HFixedAuto. Par exemple :

HlitDernier(MaTable, MonId)
IdMax=MaTable.MonId

// Remplissage des zones de MaTable
...
MaTable.MonId=IdMax+1
HAjoute(MaTable, HFixedAuto)

Lors des ajouts ultérieurs, vous pourrez utiliser HAjoute sans option,
MonId s'incrémentera automatiquement.
Voir l'aide sur HAjoute.

--
Eric
Hasan Ozdil
Le #14268771
Merci beaucoup Eric,

Votre solution fonctionne, cependant elle me posera des problèmes lors
de la mise à jour des données de la version précédentes du
programme.

Je vais, je pense devoir garder un id de type numérique et gérer
moi-même id automatiquement, sauf si wdconvert.exe a une option
permettant de recréer la zone où il stocke le dernier id

Merci encore pour cette solution
Hasan
Eric
Le #14268761
Le 6 avril 2006 à 16:53, dans
Ozdil nous disait :

Votre solution fonctionne, cependant elle me posera des problèmes lors
de la mise à jour des données de la version précédentes du
programme.



Pas nécessairement. Dans ce genre de cas, je procèderais de la façon
suivante :
- test de l'existence d'un fichier ini spécifique (par exemple
ModifId.ini)
- si le fichier n'existe pas, je force mon identifiant dans le HAjoute
et je crée ModifID.ini
- si le fichier existe, donc à partir de la deuxième fois, j'utilise un
HAjoute normal
- lors de la prochaine mise à jour du programme, je supprime le test de
l'existence du fichier

On peut aussi faire la même chose avec une valeur de la base de registre
créée spécialement.

--
Eric
Hasan Ozdil
Le #14268591
Très bonne idée,

Je vais suivre vos conseils

Merci

Hasan
Publicité
Suivre les réponses
Poster une réponse
Anonyme