{Access} requète avec SELECT

[Résolu/Fermé]
Signaler
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
-
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
-
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

Messages postés
393
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
14 avril 2011
32
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
Bonsoir,

Il y a une raison de le faire en VBA? ou c'est pour le fun?
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
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é.
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
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?
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
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.
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
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?
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
182
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.
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
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!