Comment classer une base de donne access sans utiliser Acces ???

Signaler
Messages postés
16
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
11 août 2003
-
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004
-
tout d'abord slt a tous
Voila : j'ai une base de donne en access 2000 avec des nom de personne. Je voudrais y classer par ordre alphabetique avec du codes VB6 sans passer par access. Comment dois-je faire ????

Merci d'avance :)

3 réponses

Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

Tu peux effectivement lire une table ordonné sur un champ voulu. Mais que veux tu faire de cette lecture ? La mettre dans un fichier ?
Pour exemple, crée un projet sous VB et colle ce code dans le code de la feuille
Option Explicit

'Pour que ca marche il faut cocher "Microsoft ActiveX Data Objects 2.5 Library" dans le menu Outils/Références...
Private Sub Form_Load()

Dim Cn As ADODB.Connection
Dim AdoRec As ADODB.Recordset
Dim AdoFld As ADODB.Field
Dim CheminBase As String
Dim ChaineCnx As String
Dim NomTable As String
Dim ChampTri As String
Dim MsgOut As String


Me.AutoRedraw = True

'Ici tu initialises tes variables, à savoir:
'le chemin de ta base
CheminBase = "C:\Documents and Settings\Administrateur\Mes documents\bd1.mdb"
'le nom de ta table
NomTable = "Personne"
'le champ sur lequel tu veux trier
ChampTri = "Nom"


'Connexion avec la base
ChaineCnx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ChaineCnx = ChaineCnx & CheminBase
ChaineCnx = ChaineCnx & ";Persist Security Info=False"

Set Cn = New ADODB.Connection
Cn.Open ChaineCnx

'Ouverture de la table classée
Set AdoRec = New ADODB.Recordset
AdoRec.Open "Select * from " & NomTable & " order by " & ChampTri, Cn


'Ecriture sur la forme
Me.Cls
Print "Table : " & NomTable
Print "Triée par : " & ChampTri

'Ecriture des entêtes des champs
For Each AdoFld In AdoRec.Fields
MsgOut = MsgOut & AdoFld.Name & ";"
Next
Print MsgOut

'Parcours de la table
Do Until AdoRec.EOF = True
MsgOut = ""

'Ecriture de tous les champs
For Each AdoFld In AdoRec.Fields
MsgOut = MsgOut & AdoFld.Value & ";"
Next

Print MsgOut

'Enregistrement de la table suivant
AdoRec.MoveNext

Loop

'Fermeture de la table et de la connexion
AdoRec.Close
Set ado = Nothing
Cn.Close
Set Cn = Nothing

End Sub
0
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

C'est pas dans Outils/Références... qu'il faut cocher Microsoft ActiveX Data Objects 2.5 Library" mais dans Projets/Références (j'ai confondu avec Access)
0
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

Et 4 lignes avant la fin, il faut écrire "Set AdoRec = Nothing" au lieu de "Set ado = Nothing"
0