Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
06-06-2008 - 13:29
Message
#1
|
|
|
Membre Groupe : Membres Messages : 6 Inscrit : 24-11-2007 Membre n° 12 368 |
Bonjour,
Dans une base est-il possible de trier alphabétiquement puis de changer la numérotation des fiches suivant l'ordre précédent? Merci de m'informer. |
|
|
|
08-06-2008 - 0:41
Message
#2
|
|
|
Membre Groupe : Membres Messages : 14 Inscrit : 02-06-2008 Membre n° 13 014 |
Bonjour, Dans une base est-il possible de trier alphabétiquement puis de changer la numérotation des fiches suivant l'ordre précédent? Merci de m'informer. Humm oui, c'est possible de trier par ordre alphabétique en faisant un select avec un order by : select * from nomtable [where (condition)][order by nomchamp (asc|desc)] Je suis moins sur de la parti qui suis parce que je ne vois pas l'utilité de reaffecter des numéros a des lignes et aussi, ce que je vais te dire marche dans mysql donc il y a peut-être quelque difference avec du access. De plus si le champ numéroté est ta clé primaire tu vas devoir créer un genre de swap sinon tu vas avoir une erreure, du au fait que tu ne peux pas avoir deux fois la même clé, anyways... Malheureusement je n'ai qu'une seul parti de la solution si tu veux le faire en une seule étape (je ne sais pas si c'est faisable) mais en faisant un script qui fait : set @row = 0; select @row:=@row+1 from nomtble order by nomchamps; Donc si tu gardes toutes les donnée dans quelque part tu devrais etre capable d'updater tes champs. Si le set ne marche pas essaye : declare @row int select @row = 0 |
|
|
|
08-06-2008 - 13:10
Message
#3
|
|
|
Membre Groupe : Membres Messages : 21 Inscrit : 14-05-2008 Lieu : Devant l'écran Membre n° 12 982 |
Bonjour,
Une table-->tbl_Essai-->3 champs : Id-->NuméroAuto-->Incrément-->Clef primaire ChampTexte-->Texte Renuméroté-->Numérique-->Entier long Une requête-->qryTrieDansOrdreChampTexte : Si trie décroissant : CODE SELECT tbl_Essai.ChampTexte, tbl_Essai.Renuméroté FROM tbl_Essai ORDER BY tbl_Essai.ChampTexte DESC; Nous désirons un trie croissant sur notre champ texte : CODE SELECT tbl_Essai.ChampTexte, tbl_Essai.Renuméroté FROM tbl_Essai ORDER BY tbl_Essai.ChampTexte; Un formulaire, un bouton-->cmd_Renumeroter Sur click-->Un peu de code : CODE Private Sub cmd_Renumeroter_Click() Dim db As Database: Set db = CurrentDb Dim r As Recordset: Set r = db.OpenRecordset("qryTrieDansOrdreChampTexte") Dim i As Long: i = 1 'Ici on peut faire démarrer au N° de notre choix Do While Not r.EOF r.Edit r![Renuméroté] = i r.Update i = i + 1 r.MoveNext Loop r.Close: Set r = Nothing db.Close: Set db = Nothing 'Un petit coup d'oeil sur cette requête DoCmd.OpenQuery "qryTrieDansOrdreChampTexte", acNormal, acEdit End Sub Cordialement. -------------------- Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry |
|
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19-11-2008 - 14:04 |