Executer requete sur base access depuis vb

gplog Messages postés 82 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juillet 2009 - 10 juin 2003 à 16:47
gplog Messages postés 82 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juillet 2009 - 12 juin 2003 à 14:10
Mr_toto

Salut tout le monde,
Voila : Je voudrai exécuter une requete pour que les champs "Nom" de ma table "Clients" soit triés par ordre alphabétique.
Voici mon code, quand je l'execute, j'ai un message qui me dit : "impossible d'executer une requete de selection"

Private db As Database, rs As DAO.Recordset

' On se connecte à la database
Set db = Workspaces(0).OpenDatabase(NOM_DATABASE)

' On veut lire la table des Clients
Set rs = db.OpenRecordset("Gaveurs", dbOpenDynaset)


' On execute la requete de trie
db.Execute ("SELECT Clients.* From Clients ORDER BY Clients.Nom")

Que faut il modifier dans ce code pour que ma requete soit executée ?Et Est ce que ma requete est bien énoncée?

Merci.

7 réponses

mdaigre Messages postés 22 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 17 décembre 2003
10 juin 2003 à 16:57
Ajoute plutôt un Data dans ta form en ajoutant dans les références du projet Microsoft DAO 3.51 OBJECT Library et ensuite tu trvailles directement sur ce data. Dans les propriétés du data, tu as juste a préciser le chemin d'accés de ta table.

exemple:

Dim requete3 As String
requete3 = "select * from Clients order by nom"

Recherche.Data1.RecordSource = requete3
Recherche.Data1.Refresh

If Recherche.Data1.Recordset.RecordCount <> 0 Then
Text4.text = Recherche.Data1.Recordset!login
Text5.text = Recherche.Data1.Recordset!pass
Text6.text = Text5.text
If Recherche.Data1.Recordset!droit = 1 Then
Option1(5).Value = True
End If
0
gplog Messages postés 82 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juillet 2009 1
10 juin 2003 à 17:07
Mr_toto

Merci d'avoir été aussi rapide.

En fait ce bout de code est dans un module et je voudrait bien pouvoir le réutiliser par la suite.C'est pour cela que je n'ai pas de data.
Connait tu une methode avec laquelle je puisse executer ma requete sans passer par un data ?
0
gplog Messages postés 82 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juillet 2009 1
10 juin 2003 à 17:30
Mr_toto

Merci beaucoup, ça y est ça marche et c'est grace a toi !

j'ai juste remplacé ça dans mon code :

' On veut lire la table des Clients
Set rs = db.OpenRecordset("SELECT Clients.* From Clients ORDER BY Clients.Nom", dbOpenDynaset)
0
sschupp Messages postés 63 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 18 mai 2006
11 juin 2003 à 10:33
Juste une petite question. Le Data1.refresh, pourquoi est-il précédé de Recherche ? De plus, pourquoi moi je n'arrive pas à faire de refresh sur un controle adodc? Quand je met ado1.refresh, j'ai le droit à un message comme quoi la méthode refresh n'as pas abouti.
0

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

Posez votre question
mdaigre Messages postés 22 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 17 décembre 2003
12 juin 2003 à 11:51
Moi, je travaille toujours avec un data que je mets sur une form et dans le module, tu apelles ce data
form1.data1
et tu fais ta requête.
et tu as juste a créé un fonction dans ton module, contenant ta requête et aprs tu as juste a appeler ta fonction
call nom_fonction(paramatre-si-y-a)

Bon courage
marlène
0
mdaigre Messages postés 22 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 17 décembre 2003
12 juin 2003 à 11:55
Il ya recherche devant data1 car mon data est dans la form recherche et je l'appelle.
Pour refresh, je sais pas. ça sert à mettre à jour ta table si il y a eu des modifs. Vérifie que tu as bien cocher les références nécessaires de ton projet.

Désolée, je vois pas pourquoi sinon. bon courage
0
gplog Messages postés 82 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juillet 2009 1
12 juin 2003 à 14:10
Mr_toto

Merci pour ton aide, ça fonctionne !!
0
Rejoignez-nous