Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/10/2007, 15h43   #1
Membre du Club
 
Inscription : mai 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 75
Points : 51
Points : 51
Par défaut lecture d'une table dans l'ordre

j'ai une table :"processus" qui contient mes processus :"protot,market,clifac"
comme j'ai trié par nom s'affiche: clicfac,market,protot

j'ai besoin d'ajouter "nouvel" entre market et clifac

le probleme est que quand je lis la table les enregistrements se lisent dans l'ordre de creation:protot,market,clicfac,nouvel

comme j'ai d'autres goupe de processus:
1°) y-a t'il moyen de recuperer l'ordre de création d'origine
2°) lire la table telle qu'elle apparait en lecture

pour l'instant j'ai crée une colonne ordre et avec une requete j'ai cré une nouvelle table avec ce nouvel ordre
giloo(94) est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 16h06   #2
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
dans une base de donnée l'ordre sur une table sans clef unique ne veut rien dire à priori si dans un champ tu tapes 100 fois item

Code :
1
2
 
select monchamp from matable;
va te te renvoyer 100 fois item, l'ordre proviendra du moteur de données il ne t'appartient pas

par contre
Code :
1
2
 
select monchamp from matable order by monchamp;
va classer les données (la place des doublons ne peut être garantie)

la même requête avec un champ auto
Code :
1
2
 
select monchamp from matable order by monchamp,monumauto;
te permettra de gérer enfin l'ordre (si personne n'a bricolé le compteur auto)
__________________
Elle est pas belle la vie ?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 17h30   #3
Membre du Club
 
Inscription : mai 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 75
Points : 51
Points : 51
Par défaut hello!

quand tu dis:
Citation:
va te te renvoyer 100 fois item, l'ordre proviendra du moteur de données il ne t'appartient pas
il dois bien y avoir un moyen de reinitialiser ce compteur
la creation d'un numero auto ne repond pas completement a mon probleme puisque quand j'ajoute une nouvelle fonction je ne peu pas choisir a quel instant l'executer(nouvel serai executé en 4°position alors qu'il doit etre executé en 2°position)

je pense que c'est un cas tres specifique ou le numero doit etre gere manuellement et donc refai a chaque fois

pour finir si j'ajoute un numero auto je retrouve l'ordre de creation d'origine des enregistrement (cela prouve t'il que l'ordre de creation est memorisé quelque part?)...
giloo(94) est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 21h06   #4
Rédacteur

 
Avatar de Tofalu
 
Christophe Warin
Inscription : octobre 2004
Messages : 8 635
Détails du profil
Informations personnelles :
Nom : Christophe Warin
Âge : 28

Informations forums :
Inscription : octobre 2004
Messages : 8 635
Points : 13 718
Points : 13 718
Non, comme l'a indiqué random, la notion d'ordre dans une table n'existe pas. L'ordre est défini via les index ou une clause order by dans la requête.

C'est à toi ici de gérer un champ numérique qui te permettra de définir l'ordre dans lequel afficher les données.

Citation:
pour finir si j'ajoute un numero auto je retrouve l'ordre de creation d'origine des enregistrement (cela prouve t'il que l'ordre de creation est memorisé quelque part?)...
L'ordre coincide c'est vrai, mais rien ne garantit en SQL (cf les articles de SQL Pro à ce sujet) que deux requêtes sur une table non indexée retourneront les données dans le même ordre, même s'il est vrai qu'à l'usage il s'agira à priori de l'ordre de création des enregistrements.
Tofalu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 05h28   #5
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 897
Points : 3 897
salut à tous,

Citation:
il dois bien y avoir un moyen de reinitialiser ce compteur
comme te le dis tous:non, ce qui ne veut pas dire impossible...
mais si toi tu y arrives, moi je suis preneur
en tout cas il n'y a pas de solutions simple et dans ton cas cela ne se justifie pas.

Citation:
si j'ajoute un numero auto je retrouve l'ordre de creation d'origine des enregistrement (cela prouve t'il que l'ordre de creation est memorisé quelque part?
effectivement comme te le dis Tofalu rien ne garanti l'ordre.
j'ai pu constaté lors d'une double permutation sur deux enregistrements: seul l'un d'entre eux a été remis à sa place, l'autre s'est retrouvé à la fin.

donc: je te conseil aussi un champ numérique dont tu gèreras l'incrémentation et je te conseil de lire cette discution qui sans doute t'aideras dans ce que tu veux faire.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2007, 11h31   #6
Membre du Club
 
Inscription : mai 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 75
Points : 51
Points : 51
Par défaut merci a tous

mon probleme est donc insoluble car j'ai plus de 100 processus differents et certains de ces processus contiennent plus de 50 etapes
la difficulté c'est que la derniere etape de chaque processus doit toujours

s'effectuer en dernier car c'est elle qui permet d'enchainer des macros (import fichiers,agregation,requetes,export resultats,nettoyage,compactage)

donc pour l'instant j'ajoute une colonne ou j'indique dernier

voila bien la solution un peu folle mais qui marche tout de meme
giloo(94) est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h31.


 
 
 
 
Partenaires

Hébergement Web