{Access} Requête sur champ de formulaire

Résolu/Fermé
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 - 18 juin 2009 à 16:25
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 - 25 juin 2009 à 14:44
Bonjour,

Ayant une base de données à développer sur Access, je sèche sur une requête. Voici mon problme :

Mes utilisateurs doivent pouvoir sélectionner le nom d'une ville parmi toutes celles du département. Jusque là tout va bien, j'ai créé une zone de liste modifiable (ville). :-)
Mais là où je sèche, c'est pour que dans une seconde zone (communaute) la communauté de communes à laquelle appartient la commune sélectionnée dans la liste précédente s'affiche automatiquement.

J'ai à ma disposition deux tables :
- commune(numville,nomville,numcomm) numville étant un numauto et numcomm le numéro de la communauté à laquelle appartient la commune.
-communaute(numcomm,nomcomm) numcomm étant le numéro de la communauté de commune et nomcomm son nom.

J'ai également créé une requête m'affichant le nom des communes ainsi que le nom des communautés de communes auxquelles elles appartiennent.

A l'heure actuelle la zone ville a pour source la table commune.
Le contenu de la zone communaute est lui déterminé par la requête suivante :

SELECT [communaute].[numcomm], [communaute].[nomcomm] 
FROM communaute 
WHERE [communaute].[numcomm]=[ville]; 


Cette requête semble vérifier l'égalité entre le champ nucomm de la table communaute et la colonne numville de la zone ville alors que je voudrais que ce soit le champ numcomm de cette même zone qui soit vérifié.

Est-ce possible de réoudre ce problème par une requête SQL? Ou dois-je passer par du VBA?

Si quelqu'un pouvait m'éclairer sur ce problème qui commence à sérieusement me ralentir dans mon travail, je lui en serais vraiment reconnaissant.

Espérant avoir été suffisamment clair dans l'exposé de mon problème, je vous remercie par avance.

10 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 389
19 juin 2009 à 11:00
Bonjour,

Le code suivant devrait faire ce que tu veux (je ne l'ai pas testé)
SELECT [communaute].[numcomm], [communaute].[nomcomm] 
FROM communaute 
WHERE [communaute].[numcomm] = 
(SELECT [commune].numcomm
FROM commune
WHERE [commune].nomville = [ville]);

A plus
1
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 389
19 juin 2009 à 12:20
Bonjour,

Je pense que tu dois définir un événement (ON CHANGE en anglais, je n'ai pas access en français) sur ton champs VILLE afin de rafraîchir ton champs COMMUNAUTE. Je ne peux pas t'aider plus car je ne connais presque rien dans les formulaires, je suis plutôt spécialiste des base de données.
A plus
1
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
19 juin 2009 à 10:51
Je réussis à faire la requête inverse, à savoir que d'à partir d'une communauté de communes choisie j'otiens les communes qui en font partie, mais je n'arrive pas à avoir l'inverse... :(

Help please
0
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
19 juin 2009 à 11:01
Je m'en vais tester de suite, je te tiens au courant.

Merci de te pencher sur mon problème en tout cas :)
0

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

Posez votre question
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
19 juin 2009 à 11:12
Merci infiniment, je vais pouvoir terminer mon projet grâce à toi!!

Ca fonctionne parfaitement :-D
0
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
19 juin 2009 à 11:25
Ah autant pour moi...

Tout aurait été trop beau si tout avait fonctionné convenablement...

Tant que j'essaie sur le formulaire que j'ai créé pour les tests, et qui n'envoie les données vers aucune table tout va bien. Par contre dès que j'intègre ma requête dans le formulaire définitif qui lui envoie les données des champs vers ma table principale, la communauté de communes ne se modifie plus lorsque je change le nom de ville dans le champ [ville].

Je me penche là dessus mais j'avoue me sentir un peu dépassé là...

Je dois passer par le VBA pour que la mise à jour se fasse? Si oui comment dois-je m'y prendre svp?
0
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
19 juin 2009 à 14:52
Oki doki, je te remercie, je continue de chercher :-)

Et je te tiens au courant si je trouve la soluce, pour la culture générale ;-)
0
salut je travaille avec un logiciel de gestion des lycées , fait avec access .Apres avoir saisi les notes, j'ai cliqué sur outils pour calculer les moyennes mais a chaque fois je recois le message suivants :
l'expression sur clic entrée comme parametre de la proprieté de type evenement est a l'origine d'une erreur.Erreur de syntaxe dans l'instruction update"
ge na connais rien a l'access
si vous pouvez m'aider a resoudre ce probleme je vous serais reconnaissant
j'ai deja resolu un probleme grace a ce forum et c'est mon second probleme que je vous expose
MERCI BEAUCOUP
0
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
24 juin 2009 à 09:56
Excuse moi, je ne voudrais pas être désagrable, mais quel rapport avec mon problème que nous essayons de résoudre?

Crée un autre topic stp, sinon on va finir par tout mélanger là.

Sinon je cherche toujours pour ce problème de mise à jour, mais je n'arrive toujours pas à le résoudre :(
0
linmer Messages postés 25 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 27 juillet 2009 1
25 juin 2009 à 14:44
A y est problème résolu!! :D

Merci pour l'aide, et, histoire de si ça peut être utile, voici le VBA tout simple que j'ai rajouté dans mon formulaire :

Private Sub commune_Change()
Me.comunaute.Requery
End Sub


commune étant le champs dans lequel l'utilisateur choisit la commune, et communauté celui qui doit se mettre à jour en fonction du choix de l'utilisateur.
C'était vraiment tout simple, mais encore fallait-il y penser :P

erci encore, espérant pouvoir rendre la pareille à l'avenir :)
0