Enregistrer un enregistrement à un endroit bien définit

gabalgabow Messages postés 66 Date d'inscription vendredi 17 juin 2011 Statut Membre Dernière intervention 3 février 2019 - 19 avril 2002 à 17:34
cs_markus3 Messages postés 17 Date d'inscription vendredi 15 mars 2002 Statut Membre Dernière intervention 25 février 2004 - 19 avril 2002 à 20:50
Comment enregistrer un nouvel enregistrement dans une base à un endroit bien définit
( Ex: à l'emplacement numéro 5)
avec VB?

Questions...?

1 réponse

cs_markus3 Messages postés 17 Date d'inscription vendredi 15 mars 2002 Statut Membre Dernière intervention 25 février 2004
19 avril 2002 à 20:50
Salut, si je comprends bien quand tu ajoutes un enregistrement tu veux qu'il s'insere entre deux existants.
Alors je vois deux possibilites
Tu ajoutes l'enregistrement normalement, il se met donc en fin de table.
Tu te sers de variables pour stocker les donnees de tous les champs de l'enregistrement qui existe deja et qui est a la place que tu desires.
Tu les remplaces par les donnees de ton nouveau champ.
Tu mets les valeurs des variables dans le dernier enregistrement que tu as cree.
et tu recommences avec l'enregistrement suivant jusqu' a la fin de table.
C'est long et fastidieux.

Autre methode que j'ai deja utilise, tu rajoutes un champ a ta table ou tu stockes un ordre de classement.
Avant d'inserer un enregistrement, tu parcours ta table entierement.
Tous les enregistrements qui ont un ordre de classement superieur a celui que tu veux inserer tu les incrementes de 1. Fais tres attention de ne pas repasser deux fois au meme endroit.
Apres tu n'as plus qu'a inserer ton enregistrement avec le N° d'ordre que tu desires.
Pour finir, tu n'oublies de terminer ta requete par un order by "champ de l'ordre de classement"

Il y a surement plus simple, mais ca marche je l'ai fais cet apres-midi pour un prog personnel

Markus
0
Rejoignez-nous