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

VB 6 et antérieur Discussion :

[SQL]Problème avec ADO - Order by


Sujet :

VB 6 et antérieur

  1. #1
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut [SQL]Problème avec ADO - Order by
    bonjour

    j'essaye de trier 3 colonnes d'une table "en dur"
    pour cela j'ai essayé 2 méthodes mais le order by ne semble ne pas marcher :

    voici le code actuel :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
      Dim tmpTable As ADODB.Recordset
     
        Set adoConnection = New ADODB.Connection
     
        Set adoRecordset = New ADODB.Recordset
        Set tmpTable = New ADODB.Recordset
     
        adoConnection.Open connectString
        With adoRecordset
     
            .Open "SELECT B1, B2, B3 FROM Resultats", adoConnection, adOpenKeyset, adLockPessimistic
            .MoveFirst
     
            Do Until .EOF
                'adoConnection.Execute ("UPDATE Resultats SET B2 = " & Round(Rnd() * 50) + 1 & ",B3 = " & Round(Rnd() * 1) & " where B1 like '" & .Fields(3) & "'")
                .Fields("B2").Value = Round(Rnd() * 100) + 1
                .Fields("B3").Value = Round(Rnd() * 1)
                .Update
                .MoveNext
            Loop
     
            tmpTable.Open "Select B1, B2, B3 from Resultats order by B2 desc, B1 asc", adoConnection, adOpenForwardOnly, adLockReadOnly
     
            .MoveFirst
     
            tmpTable.MoveFirst
     
     
            Do Until .EOF
     
                .Fields("B1").Value = tmpTable.Fields(0)
                .Fields("B2").Value = tmpTable.Fields(1)
                .Fields("B3").Value = tmpTable.Fields(2)
     
                .Update
                .MoveNext
                tmpTable.MoveNext
            Loop
     
            tmpTable.Close
            .Close
     
        End With
     
        adoConnection.Close
    ce bout de code fait tout bêtement un random et mets a jour 3 colonnes
    ensuite je fais une copie en mémoire de ces 3 colonnes dans un recordset puis dans un nouveau recordset, je fais un select order by B2(colonne a trier)
    et ensuite je mets a jour les colonnes
    mais le order by ne marche pas

    j'ai aussi essayé de passer par une table temporaire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set tmpTable = adoConnection.Execute("Select B1, B2, B3 into tmpTable from Resultats order by B2 desc, B1 asc")
    mais ca fait le meme resultat...

    merci d'avance

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    moi si je teste ton code le order by marche nickel (avec access)

  3. #3
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    oui en fait je viens de vérifier, on m'a filé une base de donnée dont les champs a trier étaient au format texte au lieu de numéric...
    pffff je sors...

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 30/12/2012, 17h10
  2. [T-SQL] problème avec un trigger
    Par karine77 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 26/09/2005, 10h45
  3. Problème avec Ado, MySQL
    Par sylvain.g dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/06/2005, 10h45
  4. Access/SQL : Problème avec Count
    Par Taurëndil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/01/2005, 15h49
  5. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18

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