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

Bases de données Delphi Discussion :

[Access][ADO] : tri différent pour un même Order By


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut [Access][ADO] : tri différent pour un même Order By
    Bonjour,

    Je viens de me rendre compte qu'une même requête contenant un Order By ne retourne pas dans le même ordre les résultats.
    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM FICHIERS_GENERES WHERE (FIG_MODULE ='MFA') AND (NOT FIG_MODE = "XML" ) ORDER BY FIG_NOM_FICHIER ASC, FIG_MODE DESC
    Voici ce que me retourne Access :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    FIG_ID	FIG_NOM_FICHIER	           FIG_DIR	FIG_DATE	FIG_MODE	FIG_MODULE
    2332	MFA_01-1_Depose.xls	MFA_01\Depose\	20070313153436	Depose	MFA
    2336	MFA_01-1_Pose.xls	MFA_01\Pose\	20070313153452	Pose	MFA
    2333	MFA_01-2_Depose.xls	MFA_01\Depose\	20070313153440	Depose	MFA
    2337	MFA_01-2_Pose.xls	MFA_01\Pose\	20070313153456	Pose	MFA
    2340	MFA_02_A-1_Depose.xls	MFA_02_A\Depose\	20070313153506	Depose	MFA
    2341	MFA_02_A-1_Pose.xls	MFA_02_A\Pose\	20070313153510	Pose	MFA
    2450	MFA_02_A.xls	Bordereaux\MFA_02_A\	20070313154158	Bordereau	MFA
    2454	MFA_02_B-0.xls	Bordereaux\MFA_02_B\	20070313161112	Bordereau	MFA
    2455	MFA_02_B-1.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    2456	MFA_02_B-2.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    2041	MFA_02_B1-1.xls	MFA_02_B1\Conforme\	20070312121056	Conforme	MFA
    Voici ce que me retourne Delphi avec un TADOQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    FIG_ID	FIG_NOM_FICHIER	           FIG_DIR	FIG_DATE	FIG_MODE	FIG_MODULE
    2332	MFA_01-1_Depose.xls	MFA_01\Depose\	20070313153436	Depose	MFA
    2336	MFA_01-1_Pose.xls	MFA_01\Pose\	20070313153452	Pose	MFA
    2333	MFA_01-2_Depose.xls	MFA_01\Depose\	20070313153440	Depose	MFA
    2337	MFA_01-2_Pose.xls	MFA_01\Pose\	20070313153456	Pose	MFA
    2334	MFA_01-3_Depose.xls	MFA_01\Depose\	20070313153444	Depose	MFA
    2338	MFA_01-3_Pose.xls	MFA_01\Pose\	20070313153500	Pose	MFA
    2450	MFA_02_A.xls	Bordereaux\MFA_02_A\	20070313154158	Bordereau	MFA
    2340	MFA_02_A-1_Depose.xls	MFA_02_A\Depose\	20070313153506	Depose	MFA
    2341	MFA_02_A-1_Pose.xls	MFA_02_A\Pose\	20070313153510	Pose	MFA
    2454	MFA_02_B-0.xls	Bordereaux\MFA_02_B\	20070313161112	Bordereau	MFA
    2455	MFA_02_B-1.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    2041	MFA_02_B1-1.xls	MFA_02_B1\Conforme\	20070312121056	Conforme	MFA
    2456	MFA_02_B-2.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    Mon "Order By" est-il mal placé ?
    J'utilise Access 97 et Delphi 7.
    Il n'y a rien de particulier à priori.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Pour ma part, le tri de l'AdoQuery est le plus correcte sauf pour les deux dernières lignes qui devrait être inversées.

    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    2041	MFA_02_B1-1.xls	MFA_02_B1\Conforme\	20070312121056	Conforme	MFA
    2456	MFA_02_B-2.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau
    Avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    2456	MFA_02_B-2.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	
    2041	MFA_02_B1-1.xls	MFA_02_B1\Conforme\	20070312121056	Conforme	MFA
    Après il est possible (si je me souviens bien) de modifier l'ordre de tri standard d'ACCESS
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    En fait, je préférerais modifier l'ordre de l'ADOQuery si possible.
    Dois-je modifier les propriétés de celui-ci ou y aurait-il une autre solution que j'ignore ?

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Modifier les propriétés de l'AdoQuery pour l'ordre de tri venant d'une requete, je doute que tu puisses le faire, vu que c'est le jet engine qui te retourne les données "triées".

    Pour ma part les données triées dans ACCESS sont fausses où mal triées.

    Le bon tri devrai être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    FIG_ID	FIG_NOM_FICHIER	           FIG_DIR	FIG_DATE	FIG_MODE	FIG_MODULE
    2332	MFA_01-1_Depose.xls	MFA_01\Depose\	20070313153436	Depose	MFA
    2336	MFA_01-1_Pose.xls	MFA_01\Pose\	20070313153452	Pose	MFA
    2333	MFA_01-2_Depose.xls	MFA_01\Depose\	20070313153440	Depose	MFA
    2337	MFA_01-2_Pose.xls	MFA_01\Pose\	20070313153456	Pose	MFA
    2450	MFA_02_A.xls	Bordereaux\MFA_02_A\	20070313154158	Bordereau	MFA
    2340	MFA_02_A-1_Depose.xls	MFA_02_A\Depose\	20070313153506	Depose	MFA
    2341	MFA_02_A-1_Pose.xls	MFA_02_A\Pose\	20070313153510	Pose	MFA
    2454	MFA_02_B-0.xls	Bordereaux\MFA_02_B\	20070313161112	Bordereau	MFA
    2455	MFA_02_B-1.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    2456	MFA_02_B-2.xls	Bordereaux\MFA_02_B\	20070313161114	Bordereau	MFA
    2041	MFA_02_B1-1.xls	MFA_02_B1\Conforme\	20070312121056	Conforme	MFA
    Sinon, vérifie que le nom du fichier dans la base de données pour MFA_02_B-2.xls n'est pas un caractère blanc en trop à la fin (je doute que cela soit çà, mais on sait jamais)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    En effet, ce n'est pas çà.
    Y a t-il des opérations à effectuer sur la base en elle même ?

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    As tu modifié les propriétés de bases de l'ADOQuery ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Non, normalement.
    Il ne me semble pas les avoir modifié.

    Je ne vois pas même pas quelle propriété pourrait modifier un "ORDER BY"

  8. #8
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    As tu mis les patch pour delphi 7 ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Non.

    Je ne suis pas particulièrement chaud pour patcher Delphi 7 car le projet fonctionne correctement (mis à part cet ORDER BY).

    Les patchs font-ils référence à ce problème ?
    Je viens de chercher et je trouve pas les changelog.

    Merci à toi de m'aider.

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Je ne sais plus si c'est avec D5 ou D7, mais une des mises à jours faisait une correction sur ADO.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    J'ai beau cherché dans les forums de developpez.com et dans la FAQ, les patchs pour Delphi 7 ne sont pas présents.

    Sur le site de Borland, il n'est pas écrit que cela corrige un bug quelconque sur le composant ADO malheureusement.
    http://dn.codegear.com/article/32337

  12. #12
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par QuickSave
    J'ai beau cherché dans les forums de developpez.com et dans la FAQ, les patchs pour Delphi 7 ne sont pas présents.

    Sur le site de Borland, il n'est pas écrit que cela corrige un bug quelconque sur le composant ADO malheureusement.
    http://dn.codegear.com/article/32337
    Alors c'était une mise à jours pour D5 qui devaient corriger un problème avec ADO (Ca fait un bail que je n'utilise plus D5 et D7, j'utilise D2005 pour ma part)

    Envoit moi un bout de ta base de données en mp pour que je vois si le problème vient de tes composants ADO ou s'il vient d'aDO tout court
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    J'ai déjà testé sur une machine différente en réinstallant DELPHI 7 tout propre. Ca me fait toujours le coup.

    Se peut-il qu'un index soit corrompu ?
    J'ai un index unique sur FIG_NOM_FICHIER et FIG_DIR.

  14. #14
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Je viens de faire un test avec ACCESS 2003 et avec D2005 et les composants ADO :

    Dans les deux cas, j'ai ca

    FIG_ID FIG_NOM_FICHIER FIG_DIR FIG_DATE FIG_MODE FIG_MODULE
    2332 MFA_01-1_Depose.xls MFA_01\Depose\ 20070313153436 Depose MFA
    2336 MFA_01-1_Pose.xls MFA_01\Pose\ 20070313153452 Pose MFA
    2333 MFA_01-2_Depose.xls MFA_01\Depose\ 20070313153440 Depose MFA
    2337 MFA_01-2_Pose.xls MFA_01\Pose\ 20070313153456 Pose MFA
    2450 MFA_02_A.xls Bordereaux\MFA_02_A\ 20070313154158 Bordereau MFA
    2340 MFA_02_A-1_Depose.xls MFA_02_A\Depose\ 20070313153506 Depose MFA
    2341 MFA_02_A-1_Pose.xls MFA_02_A\Pose\ 20070313153510 Pose MFA
    2454 MFA_02_B-0.xls Bordereaux\MFA_02_B\ 20070313161112 Bordereau MFA
    2455 MFA_02_B-1.xls Bordereaux\MFA_02_B\ 20070313161114 Bordereau MFA
    2041 MFA_02_B1-1.xls MFA_02_B1\Conforme\ 20070312121056 Conforme MFA
    2456 MFA_02_B-2.xls Bordereaux\MFA_02_B\ 20070313161114 Bordereau MFA
    Donc après tests, je pense que l'aDOQuery te sort la bonne réponse pour de l'ACCESS
    Sinon, c'est étrange,Access doit ignorer les - dans le tri.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  15. #15
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par Malatar
    Sinon, c'est étrange,Access doit ignorer les - dans le tri.
    Si Access utilise la fonction API CompareString (ce que je suppose) ce comportement est malheureusement normal.
    J'en discutais dans ce thread avec TicTacToe.

    @+ Claudius

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Je considère ce "problème" normal alors.

    Merci beaucoup pour votre patience et l'aide que vous apportez à la communauté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Temps d'exécution différent pour une même tâche
    Par franculo_caoulene dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 26/03/2008, 08h41
  2. [D7][Access][ADO] Tri d'un DbGrid
    Par iam dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/01/2007, 11h11
  3. Peut-on avoir deux fichier .htaccess pour 2 urlrewriting différents pour 1 même site
    Par JackBeauregard dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 30/09/2006, 08h35
  4. Réponses: 1
    Dernier message: 16/06/2006, 14h17
  5. Icone différente pour une même extention ?!
    Par NicolasJolet dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 09/03/2006, 10h24

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