Trier extraction BD access

Résolu
ap24dp
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013
- 7 avril 2012 à 11:00
LIBRE_MAX
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
- 9 avril 2012 à 19:24
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

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
9 avril 2012 à 11:12
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)
3
ap24dp
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013

9 avril 2012 à 11:52
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
0
LIBRE_MAX
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
9 avril 2012 à 13:58
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.
0
ap24dp
Messages postés
20
Date d'inscription
vendredi 10 février 2012
Statut
Membre
Dernière intervention
20 août 2013

9 avril 2012 à 16:50
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LIBRE_MAX
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
9 avril 2012 à 19:24
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.
0