{Access} requète avec SELECT

Résolu/Fermé
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 - 16 juil. 2009 à 15:06
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 - 29 juil. 2009 à 09:15
Bonjour,

Je dois faire une requète, mais je n'en ai fait qu'avec UPDATE pour l'instant. Du coup je m'en suis inspirée mais ça marche pas non plus.
Voici la requète:

Private Sub cmd_Afficher_Click()

Dim db As DAO.Database

Set db = DBEngine.OpenDatabase("là j'ai mis le chemin de la base de données")

'Exécution de la requête
db.Execute "SELECT Numero_Immatriculation, Date_Entretien, Description_Entretien, Reparation FROM ENTRETIEN ORDER BY Numero_Immatriculation"

Debug.Print "Records Affected = " & db.RecordsAffected
db.Close
End Sub

Est-ce que quelqu'un aurait une idée? Normalement ça doit me renvoyer plusieurs lignes et il faudrait aussi que je l'affiche en bas de mon formulaire, mais ça je ne sais pas faire, donc pour l'instant j'essaie juste la requête. Merci d'avance,

Gwendo.

10 réponses

soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 32
17 juil. 2009 à 10:54
Salut,
quelle est le message d'erreur ou la ligne surlignée en jaune?

regarde ton Records "Affected = " c'est quoi au juste? il n'est déclaré nulle part??
1
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
17 juil. 2009 à 18:41
Bonsoir,

Ce n'est pas parce que les résultats doivent être affichés dans un formulaire qu'il faut se tuer à écrire du code...

On peut fonder des sous-formulaires ou des listes déroulantes sur toutes les requêtes voulues.

Je pense que tu devrais commencer par créer les requêtes en mode graphique puis les intégrer dans le formulaire.
1
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
21 juil. 2009 à 13:33
Bj,


je pense que ce n'est pas difficile mais cette fois, on a besoin de VB...

Dans la feuille des propriétés de ta zone de liste, sous l'onglet événement, clique sur les trois points à droite de la ligne "sur clic", choisis procédure événementielle et tape entre Sub et End sub: NomDeLaListe à mettre à jour.Requery.

Sinon, si tu veux trier le formulaire, l'assistant zone de liste le fait automatiquement si dans la première boite de dialogue, tu choisis la troisième option: je veux qu'access recherche un enregistrement...
1
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 juil. 2009 à 17:38
Bonsoir,

Il y a une raison de le faire en VBA? ou c'est pour le fun?
0

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

Posez votre question
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
17 juil. 2009 à 09:42
Non, non, c'est pas pour le fun.

Je préfère passer par les requètes habituelles en sql, mais là j'ai besoin que dès que l'utilisateur choisit des données dans son formulaire et clique sur un bouton, les résultats de certaines requètes s'affichent à différents endroits du même formulaire (pas très clair tout ça).

Cette requète-là n'est qu'un test.
A la fin, je voudrais que l'utilisateur choississe un mois et une année dans des zones de liste et que les résultats concernent les entretiens pour cette période choisie.

Mais si la plus simple des requètes ne marche même pas, c'est pas gagné.
0
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
17 juil. 2009 à 12:20
Oups, merci.

Vu que c'est un Select ça marche pas. J'ai enlevé cette ligne, et la gestion des erreurs en plus.
Il me met "impossible d'effectuer une requète Selection", mais ça doit bien être possible d'une manière ou d'une autre, non?
0
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
21 juil. 2009 à 09:26
Bonjour,

Merci beaucoup pour ton aide, c'est bien plus pratique comme ça, en effet.


Du coup, j'ai fait ça:
J'ai intégré des zones de liste dans mon formulaire pour choisir la date.
J'ai bien créé les requètes avec des conditions du genre WHERE Date_Entretien LIKE (Forms!Nom_formulaire!Nom_zonedeliste...).
Et j'ai ajouté les requètes en sous-formulaires (je sais pas si ça se dit comme ça).

Le seul problème c'est que lorsque j'ouvre mon formulaire les requètes se font bien à partir des valeurs par défaut des zones de liste.
Une fois que l'utilisateur choisit un autre mois ou année, rien ne change.


Je vais continuer à chercher, mais tu ne saurais pas comment on "recharge" des requètes qui servent de sous-formulaire?

Désolée, ça ne doit pas être très clair.
0
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
27 juil. 2009 à 09:43
Bonjour,


Je suis vraiment vraiment vraiment désolée de te déranger ENCORE une fois.
Je pensais que ça marchait enfin et voulais mettre en résolu une fois tous les tests faits.

Mais là, les changements ne sont pris en compte que pour des zones de liste où j'inscrit les résultats de requètes (coût total des entretiens de tous les véhicules...).
Les sous-formulaires eux ne sont même pas reconnus dans VBA.


Une idée?
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
28 juil. 2009 à 23:07
Bonsoir,

Désolé de tarder mais je suis en vacances et je n'ai pas souvent l'occasion de me connecter.


Je suis un peu perdu dans ce que tu veux faire...

Tu souhaites filtrer un sous formulaire en fonction des choix de plusieurs zones de liste?

C'est facile de trier les résultats d'un formulaire avec une zone de liste mais je pense que ce sera plus difficile avec un sous formulaire (en tous cas, je ne vois pas bien comment faire).

Est-ce que tu as un lien entre le formulaire et le sous formulaire (cf champs père et fils)?
est-ce que tes listes déroulantes désignent un seul enregistrement de ton formulaire principal ou est-ce que tu souhaites seulement filtrer les sous formulaire?

Si tu pointes sur un seul enregistrement du formulaire, tu peux afficher tous les enregistrements du sous formulaire quitte à y ajouter à lui aussi une ou plusieurs listes de choix, selon le même principe que plus haut.
tout dépende de la structure de tes données.
0
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
29 juil. 2009 à 09:15
Ah, désolée!

En fait, on m'a donné la réponse hier et je n'ai pas eu le temps de le mettre sur le site.

C'était exactement comme tu l'avais dit, sauf que pour les sous formulaires il ne faut pas mettre leNom.Requery, mais Me.leNom.Requery.
Par rapport aux zones de liste, il faut juste rajouter Me.
C'est tout.

Merci encore pour tout le temps que tu as passé dessus.
Profite bien de tes vacances!
0