Trier extraction BD access [Résolu]

Signaler
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
Bonjour, j’extraie d'une bd access les données dans un tableau. je souhaite trier les données dans l'ordre alpha sur le champs "NOM" mais malgré l'emploi de sortExpression, les données ne sont pas triées. merci pour votre aide
---------------------------------
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>


<script runat="server">

' On définit la connection
Dim Conn As New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("\data\athletisme.mdb"))


sub Page_Load(obj as Object, e as EventArgs)
if Not Page.IsPostBack then
FillDataGrid()
end if



FillDataGrid()
end sub



sub FillDataGrid()
'Ouverture de la connexion
dim objCmd as new OleDbCommand _
("select * from LISTE", Conn)
dim objReader as OleDbDataReader

try
objCmd.Connection.Open()
objReader = objCmd.ExecuteReader()
catch ex as Exception
lblMessage.Text = "Erreur de liaison avec la base de données."
end try

dgData.DataSource = objReader
dgData.DataBind()

objReader.Close
objCmd.Connection.Close()

end sub

function ExecuteSQL(strSQL)
dim objCmd as new OleDbCommand(strSQL, Conn)

try
objCmd.Connection.Open()
objCmd.ExecuteNonQuery()
catch ex as Exception

end try

objCmd.Connection.Close()


end function
</script>

<html>




<form runat="server">





<Columns>

















</Columns>

<HeaderStyle BackColor="#0033CC" Font-Bold="True" ForeColor="White" />




</form>

</html>

---------------------------------------
il doit manquer quelque chose.
La cerise sur le gâteau serait que le lecteur du tableau puisse choisir son tri
merci
A+
Alain

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut

Quand tu colles du (une grosse quantité de) code, merci d'utiliser le coloriage syntaxique 3ème icone à droite plus facile à relire.

Transforme
("select * from LISTE", Conn)
en
("select * from LISTE Order By NOM", Conn)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013

salut,
toutes mes excuses pour le code en vrac.
merci Jack!
Sais-tu le bout de code qu'il faut pour que le lecteur du tableau trie en cliquant sur le haut de colonne?
merci encore pour le temps passé à lire
Alain
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Bonjour,

-Tu récupères l' index de la colonne.
-Tu fais un Select Case Index:
Case 1:xOrdre="NOM"
Case 2:xOrdre="PRENOM"
Case 3:xOrdre="CODE_POSTAL"
Case 4:xOrdre="VILLE"

-Tu passes le paramètre xOrdre à ta Sub FillDataGrid

sub FillDataGrid(xOrdre As String)
'Ouverture de la connexion
dim objCmd as new OleDbCommand _
("select * from LISTE Ordre BY'" & xOrdre & "'", Conn)
...

[] Ce qui va sans dire. va mieux en le disant.
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013

salut,
lorsque je modifie la sub...
j'ai un message à la compil ligne 11
"Compiler Error Message: BC30455: Argument not specified for parameter 'xOrdre' of 'Public Sub FillDataGrid(xOrdre As String)'"

Line 9:sub Page_Load(obj as Object, e as EventArgs)
Line 10: if Not Page.IsPostBack then
Line 11: FillDataGrid()
Line 12: end if

de plus, mais je ne comprends pas le début du messge. ou dois-je mettre les "caseX"

merci
Alain
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Quant tu charges la page passes l' argument "NOM" comme ordre de tri par défaut.
Line 9:sub Page_Load(obj as Object, e as EventArgs)
Line 10: if Not Page.IsPostBack then
Line 11: FillDataGrid("NOM")
Line 12: end if


de plus, mais je ne comprends pas le début du messge. ou dois-je mettre les "caseX"

Je ne connais pas trop vb.net mais je suppose dans l'evenement Head_Click de ton DataGrid
[] Ce qui va sans dire. va mieux en le disant.