Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ALTER TABLE ORDER BY...

2 réponses
Avatar
Gillou
Bonsoir,

Dans Access j'exécute un certain nombre de requêtes "ajout" sur une table,
nommée "Table des contrats". La conséquence de ces multiples ajouts est qu'à
la fin la table n'est plus du tout triée comme je le souhaite.

J'ai donc trouvé sur le web la commande ALTER TABLE avec ORDER BY comme
argument. Je veux, une fois mes requêts ajout effectuées, trier la table sur
un champ nommé "ACM".

Dans mon code VB, je fais donc :

dB.Execute "ALTER TABLE [Table des contrats] ORDER BY ACM;"

mais ça plante, j'obtiens une erreur d'exécution '3293' : erreur de syntaxe
dans l'instruction ALTER TABLE.

J'ai fait des recherches mais je ne m'en sors pas entre les ", les ' ou les
[ je sais plus quoi essayer pour que ça marche... Quelqu'un peut m'aider ?

Merci d'avance !

2 réponses

Avatar
Charles ERNST
Essayez plutot quelque chose comme "CREATE INDEX ...."


"Gillou" a écrit dans le message de news:

Bonsoir,

Dans Access j'exécute un certain nombre de requêtes "ajout" sur une table,
nommée "Table des contrats". La conséquence de ces multiples ajouts est
qu'à
la fin la table n'est plus du tout triée comme je le souhaite.

J'ai donc trouvé sur le web la commande ALTER TABLE avec ORDER BY comme
argument. Je veux, une fois mes requêts ajout effectuées, trier la table
sur
un champ nommé "ACM".

Dans mon code VB, je fais donc :

dB.Execute "ALTER TABLE [Table des contrats] ORDER BY ACM;"

mais ça plante, j'obtiens une erreur d'exécution '3293' : erreur de
syntaxe
dans l'instruction ALTER TABLE.

J'ai fait des recherches mais je ne m'en sors pas entre les ", les ' ou
les
[ je sais plus quoi essayer pour que ça marche... Quelqu'un peut m'aider ?

Merci d'avance !


Avatar
FFO
Aprés recherche seule solution pour moi :
créer une copie de ta table avec order by de ton choix
supprimer la table originale
renommer la copie
Je te propose :

Public Function Tricolonne() As Boolean
Dim bds As Database
Currentdb.Execute "SELECT * INTO COPIE_ORIGINAL FROM ORIGINAL ORDER BY
COLONNE ASC;" (choisir ASC pour ascendant ou DESC pour descendant)
Currentdb.Execute "Drop table ORIGINAL;"
Currentdb.TableDefs("COPIE_ORIGINAL").Name = "ORIGINAL"
End Function

Celà normalement devrait te convenir

Dis moi

Bonsoir,

Dans Access j'exécute un certain nombre de requêtes "ajout" sur une table,
nommée "Table des contrats". La conséquence de ces multiples ajouts est qu'à
la fin la table n'est plus du tout triée comme je le souhaite.

J'ai donc trouvé sur le web la commande ALTER TABLE avec ORDER BY comme
argument. Je veux, une fois mes requêts ajout effectuées, trier la table sur
un champ nommé "ACM".

Dans mon code VB, je fais donc :

dB.Execute "ALTER TABLE [Table des contrats] ORDER BY ACM;"

mais ça plante, j'obtiens une erreur d'exécution '3293' : erreur de syntaxe
dans l'instruction ALTER TABLE.

J'ai fait des recherches mais je ne m'en sors pas entre les ", les ' ou les
[ je sais plus quoi essayer pour que ça marche... Quelqu'un peut m'aider ?

Merci d'avance !