Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1682 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VB6 : Trie de colonne avec requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VB6 : Trie de colonne avec requete SQL

n°1530401
rayno
Posté le 19-03-2007 à 10:58:37  profilanswer
 

Salut tous le monde, voila j aimerai savoir comment fait on pour trier des colonnes d'uen table access avec une requete SQL, quand je met un "ORDER BY" sur plusieurs niveaux ca ne fonctionne pas.
Si je met sur un niveau :
SELECT Date, Site, Transporteur, Poids_Net FROM Journal ORDER BY [Transporteur]
la c est ok, mais si je met :
SELECT Date, Site, Transporteur, Poids_Net FROM Journal ORDER BY [Transporteur], [Site]
la ca fonctionne plus.
Si quelqu'un peut m 'aider, merci


Message édité par rayno le 19-03-2007 à 13:58:59
mood
Publicité
Posté le 19-03-2007 à 10:58:37  profilanswer
 

n°1530415
jpcheck
Pioupiou
Posté le 19-03-2007 à 11:09:29  profilanswer
 

Bonjour,
essaie avec ca :
SELECT Date, Site, Transporteur, Poids_Net FROM Journal ORDER BY 3 ASC, 2 ASC;

n°1530416
skeye
Posté le 19-03-2007 à 11:09:35  profilanswer
 

ça devrait. Donne un exemple.


---------------
Can't buy what I want because it's free -
n°1530438
rayno
Posté le 19-03-2007 à 11:30:32  profilanswer
 

Salut jpcheck, je viens d 'essayer comme ca (les colonnes "Transporteurs" et "Sites" correspondent aux colonnes 10 et 7):
With Param_Etats
        .Et_Adodc.Enabled = True
        .Et_Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\FLMCHARG\DataBase\Datacharg.mdb"
        .Et_Adodc.RecordSource = "SELECT Date, Site, Transporteur, Poids_Net FROM Journal ORDER BY [10] ASC, [7] ASC"
        .Et_Adodc.CommandType = adCmdText
        .Et_Adodc.Refresh
End With
 
Quand je ne met pas les crochets pour 10 et 7, il me dit que le champ 10 et introuvable, et quand je met les crochets il me dit qu il n y a pas de valeur pour l un ou plusieurs paramètres de mon Et_Adodc... Je vois pas d ou viens la souci

n°1530440
rayno
Posté le 19-03-2007 à 11:34:03  profilanswer
 

Nb : Quand je met les crochets il se plante sur la methode "refresh"

n°1530443
tegu
Posté le 19-03-2007 à 11:40:26  profilanswer
 

En dehors du fait que tu dis simplement « ça ne fonctionne pas » sans préciser les symptômes ou les messages d'erreur.
En dehors du fait que je ne vois pas vraiment le rapport avec VB6.
En dehors du fait que ce forum contient une sous catégorie SGBD/SQL plus adaptée il me semble (si les réponses données ici ne suffisent pas).

 

Il n'y aucune raison que le ORDER BY avec plusieurs champs ne fonctionne pas.
Comme piste à suivre, je te conseille d'enlever les crochets sur les champs du ORDER BY et d'ajouter un ; en fin de phrase SQL. Mais je crains que cela soit insuffisant.

 

Donne plus de détails

 

edit: bon, le temps d'écrire et tu as rajouté des détails ; on va avancer :).


Message édité par tegu le 19-03-2007 à 11:42:13
n°1530445
rayno
Posté le 19-03-2007 à 11:44:32  profilanswer
 

Salut tegu, je viens de donner les messages d'erreur qu il me genere...
Je viens de trouver le "pourquoi" ca ne fonctionne pas, je devais obligatoirement definir un ordre de trie :
"SELECT Date, Site, Transporteur, Poids_Net FROM Journal ORDER BY [Transporteur] ASC, [Site] ASC"
Les crochets fonctionnent donc bien.
Merci à ceux s'etant interessé à ce post ;-)
 

n°1530511
tegu
Posté le 19-03-2007 à 14:25:42  profilanswer
 

Pour info, dans Access les crochets ont deux utilités :  
- Délimiter le nom d'un champ comportant des espaces ou des caractères inhabituels (ex. [Nom du client] = 'Toto' )
- Définir un paramètre dont il faudra fournir la valeur à l'exécution de la requête (utilisé en critère de filtre par exemple : ... WHERE champ = [critere] )
 
Tes messages d'erreur - quand tu jouais avec les crochets - étaient liés à la deuxième partie.
 
Pour ce qui est de la syntaxe avec ASC, heureusement que Microsoft est l'auteur de Jet.OLEDB et de Access... même pas foutus d'être compatibles (Access n'a pas besoin de ASC qui est la valeur par défaut).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VB6 : Trie de colonne avec requete SQL

 

Sujets relatifs
[Oracle PL/SQL] Error PLS-00103 dans une procédure stockéePas de trigger pour SQL serveur 2005 !
SQL server Management StudioSQL requete selective
Requete : SQL DISTINCT[SQL] requete trop lente
Au secours! VB6 : Création dynamique d'objets dans datareport 
Plus de sujets relatifs à : VB6 : Trie de colonne avec requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR