IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Requête, appel et ordre des champs


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut Requête, appel et ordre des champs
    Cher tous,

    Très étrange...

    J'ai deux tables.
    Pour la première, je réussi sans problème à appeler certains champs dans une requête classique (je ne veux pas des autres). Pour la seconde table, il y a un problème avec les résultats de la requête. Les champs que j'appelle apparaissent bien, en premier dans la requête, puis tous les autres champs de la table s'invitent à la suite (j'ai également une version, de mes différents tests, dans laquelle les champs sont strictement dans le même ordre que dans la table, c'est-à-dire que, dans la requête, un champ non appelé apparaîtra avant un champ appelé).

    J'ai testé différentes hypothèses (4 heures de boulot quand même !), dont des choses assez tarabiscotées (i.e. j'ai fait une requête de "référence" qui appelle toute la table, bref une réplique de table... un truc conceptuel qui ne sert à rien ! si ce n'est que c'est le meilleur résultat de tous mes essais...).
    Je pourrai les exposer plus en longueur ici, mais avant de m'y lancer (et puisque cela sera long pour vous comme pour moi), je me dis que peut-être avez-vous déjà expérimenté la question...

    Une indication tout de même: auparavant, la table était appelée dans son entier, grâce au caractère *. En aval de cette requête se trouve d'autres requêtes, emboîtées les unes dans les autres (c'est à dire que la requête de rang 2 appelle des éléments de la 1, qui va chercher dans la table). Pour être sûr qu'il n'y avait pas d'effet dû à une "empreinte" (hypothèse absurde, je vous le concède), ou bien à la cascade en aval, je suis reparti de zéro (ms à part la table évidemment), mais rien n'y fait.

    Henri
    PS: Pour ceux qui éprouveraient des difficultés avec des requêtes et des ordres de champs, pensez que l'option "Figer les colonnes" puis "Défiger" a pu ramener certains champs en premier. IL n'y a pas d'autres solutions, me semble-t-il, que de recréer la requête pour "partir à zéro".

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Ah, j'oubliais, je suis sous Access 2003. Et aussi des captures d'écran: la première concerne la requête qui va chercher dans la "réplique". La seconde concerne celle qui va chercher directement dans la table.

    1) Nom : Capture de requête réplique.JPG
Affichages : 105
Taille : 67,6 Ko


    2) Nom : Capture requête directe dans table.JPG
Affichages : 106
Taille : 65,8 Ko

  3. #3
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Afin d'éviter tout problème en programmation, par convention, il est préférable d'éviter tout type de caractères spéciaux ainsi que les espaces.
    Renomme tes tables et champs en évitant virgules, caractères accentués et autres. Par ex : Tbl_Replique_Pour_Reference_Compagnie ou Modalite_Vente.
    Ceci pourrait bien être à l'origine de ton problème.

    Fais ces corrections et tiens nous au courant.
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Merci Christophe. Non, rien n'y fait, cela ne change rien.
    C'est mieux quand même, car j'obtiens maintenant les champs appelés en premier (pour la requête "directe", i.e. celle qui va chercher directement dans la table). J'ai refais le tour plusieurs fois, je suis sûr qu'il n'y a pas d'espace ou de caractère gênants (même les chiffres romains j'ai retirés).

    PS à mon post précédent: je compacte la base à chaque fois, donc le problème ne peut venir de là.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Si j'ai figé une colonne dans la table, cela peut-il entraîner le problème ?
    Si oui, cela suffira-t-il de "défiger" la colonne et de la replacer à son emplacement initial ? Ne faut-il pas mieux, en plus, recréer la table en faisant un copié-collé ?

  6. #6
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonsoir,

    Pour ces questions, il n'y a que toi qui peut y répondre.
    Fais le test et tiens nous au courant.
    Si cela n'évolue pas, et si cela ne remet pas en cause tes informations, nous te demanderons sans doute de nous mettre en pièce jointe ta base afin que l'on puisse y jetter un oeil.
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Oui, excusez-moi, j'avais essayé à partir de deux explications différentes trouvées sur les forums, mais il m'était impossible d'accéder à une commande (i.e. le bouton "Modifier dans la barre d'outils de la fenêtre Base de données.").
    Voilà l'opération maintenant réalisée mais le résultat est identique. L'information qui cause le "bug" est probablement dupliquée lorsque je fais la copie de la structure de la base (avant de copier-coller les enregistrements).

    J'ai fini par créer une requête 1 avec les éléments voulus, sans exécuter d'ordre (du type "Comme....") particulier, j'ai juste affiché les champs. Puis je fais une requête 2 où j'appelle un à un tous les champs de la requête 1 (ne pas appeler l'ensemble des champs avec un astérisque, car le problème persiste), et j'appelle en plus, en doublon, les champs sur lesquels je veux exécuter les ordres. Attention à ne pas afficher les champs sur lesquels les ordres sont réalisés, car alors les champs apparaissent corrompus dans les requêtes 3, 4 etc.
    Voilà, j'ai dû reprendre pas mal de requêtes qui se trouvaient en aval... Un grand moment de doute ! Et puis ce sera plus long à l'avenir... lorsque je voudrais ajouter un champ, il faudra que je le fasse deux fois: dans la requête de référence, puis dans la requête 1.

    Je m'en sors, mais il reste clairement un "bug", car sur l'autre table, je peux exécuter des ordres directement dans la requête 1...
    Dans tous les cas, merci de votre veille.
    PS: oui, désolé pour les puristes, il ne s'agit probablement pas d'un "bug".

Discussions similaires

  1. problème avec ordre des champs d’une requête
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/10/2012, 10h44
  2. tabulations : définir ordre des champs
    Par Aurèl90 dans le forum Access
    Réponses: 3
    Dernier message: 06/01/2006, 15h30
  3. Réponses: 1
    Dernier message: 01/11/2005, 12h04
  4. [débutant] Ordre des champs de saisie par la touche tab
    Par almisuifre dans le forum C++Builder
    Réponses: 10
    Dernier message: 03/03/2005, 19h45
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo