Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/11/2011, 16h11   #1
Invité de passage
 
Homme Louis Gilbert
Archéologue
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Louis Gilbert
Localisation : Canada

Informations professionnelles :
Activité : Archéologue
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 3
Points : 3
Par défaut Recherche dans un formulaire à partir du sous-formulaire

Bonjour,

Je rôde depuis longtemps sur de tels forums, mais je n'ai jamais eu besoin de m'inscrire jusqu'à maintenant, alors qu'une question en apparence simple me donne du soucis.

J'ai un formulaire "site" basé sur une table du même nom. Ce formulaire comprend un sous-formulaire "aut_nom", basé aussi sur une table du même nom, qui contient tous les noms alternatifs donnés au site. Les deux tables sont liées par une relation 1-n.

Est-il possible de rechercher un site à partir de ses autres noms directement (et facilement pour le end-user) à partir du formulaire? Ex, trouver le site CeEt-30 (nom dans la table site) à partir de son nom alternatif "palais de l'intendant"?

Lorsque je "Recherche", il ne trouve pas, et si je Filtre, il sort aucun enregistrement (ne filtrant que parmi les autres noms de l'enregistrement en cours).

Merci pour l'aide!
Louis
Louis Gilbert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 19h48   #2
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour

Il suffit de créer une requête basée sur les 2 tables et ayant comme paramétre le nom alternatif du site.

Si on suppose que tes tables sont construites comme ceci:

SITES:

id_site
nomsite

AUT_NOMS:

id_autnom
autnom
id_site

alors la requête sera comme suit:

Code :
1
2
3
select SITES.nomsite
from SITES join AUT_NOMS on SITES.id_site=AUT_NOMS.id_site 
where AUT_NOMS.autnom like "*" & [parametre] & "*"
Le parametre pourra être récupéré à partir d'un formaulaire indépendant (non lié à une table) où tu va saisir une partie ou la totalité du paramétre recherché.

Le résultat de la recherche (càd le nom du site) pourra éventuellement être affiché dans un formulaire séparé.

cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 15h13   #3
Invité de passage
 
Homme Louis Gilbert
Archéologue
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Louis Gilbert
Localisation : Canada

Informations professionnelles :
Activité : Archéologue
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 3
Points : 3
Merci pour cette réponse rapide. J'espérais que ce soit possible directement à l'intérieur des formulaires, par des fonctions standards de Access, étant donné que ce n'est pas une recherche qui va se faire souvent (les utilisateurs connaissant généralement les vrais noms des sites).

J'anticipais tout simplement le jour où je me serais fait appeler pour me faire dire "je cherche un site et ça ne marche pas..."

Merci encore.
Louis

Edit: quoique ce n'est pas surprenant pour un archéologue de chercher un site et de ne pas le trouver... alors personne ne sera déstabilisé...
Louis Gilbert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 21h08   #4
Invité de passage
 
Homme Louis Gilbert
Archéologue
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Louis Gilbert
Localisation : Canada

Informations professionnelles :
Activité : Archéologue
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 3
Points : 3
Par défaut Question supplémentaire

Bonjour!

Tout a bien fonctionné jusque là, mais j'ai un problème pour la suite.

Donc, ma requête sélectionne les enregistrements en se basant sur ce qu'on lui dit dans un formulaire indépendant. Maintenant, je voudrais utiliser ce résultat comme base à un filtre sur ma table Site.

Le résultat de la requête peut être multiple - plusieurs sites peuvent avoir comme nom alternatif, par exemple, "*Place Royale*". Je voudrais filtrer les données de la table Site pour qu'il me donne tous ces sites. Toutefois, je veux afficher la table, et non la requête, afin de pouvoir modifier les données originales correspondant à ce filtre.

La table Site se présente à l'utilisateur dans un formulaire Site. Les différents critères que j'ai essayé me renvoyait toujours un paramètre à définir (autnom_id ou site_id, par exemple), qui me semblait déjà défini (dans le résultat de la requête)

Merci!
Louis Gilbert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 18h59   #5
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour,

Citation:
Toutefois, je veux afficher la table, et non la requête, afin de pouvoir modifier les données originales correspondant à ce filtre.
Rien ne t'empêche de modifier les données de la table directement à partir de la requête.
Tu peux aussi faire en sorte que la requête filtre soit la source de données de ton formulaire Sites.

Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 02h08   #6
Invité de passage
 
Homme Louis Gilbert
Archéologue
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Louis Gilbert
Localisation : Canada

Informations professionnelles :
Activité : Archéologue
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 3
Points : 3
Bonjour!

Citation:
Envoyé par reedy Voir le message
Rien ne t'empêche de modifier les données de la table directement à partir de la requête.
Tu veux dire en en faisant une requête mise à jour? Donc une requête sélection, dont les modifications viendraient mettre à jour les données correspondante dans la table source? Il me semble que ça s'en vient compliqué pour une tâche qui devrait être simple, non?

Citation:
Envoyé par reedy Voir le message
Tu peux aussi faire en sorte que la requête filtre soit la source de données de ton formulaire Sites.
Le truc, c'est que ces recherches seront marginales tout au plus, et que j'ai trois sous-tables à traiter de la même manière. Tout ça à cause de relations 1-n ou n-n... Et l'utilisateur de me dire : "pourtant, c'est simple dans Filemaker"...

J'ai contourné à sa satisfaction actuelle le problème en faisant un renvoi site par site du résultat de la requête, et ça semble satisfaire, mais je demeure étonné qu'une question en apparence si basique demande autant de manipulation. Ou alors, c'est peut-être tout simplement que j'ai atteint la limite de ma compétence dans ce champ-là...
Louis Gilbert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 20h06   #7
Invité de passage
 
Homme Louis Gilbert
Archéologue
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Louis Gilbert
Localisation : Canada

Informations professionnelles :
Activité : Archéologue
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 3
Points : 3
Citation:
Envoyé par Louis Gilbert Voir le message

Tu veux dire en en faisant une requête mise à jour? Donc une requête sélection, dont les modifications viendraient mettre à jour les données correspondante dans la table source? Il me semble que ça s'en vient compliqué pour une tâche qui devrait être simple, non?
Après tout ce temps où je travaille avec Access, je viens à peine de réaliser une réalité toute simple, que j'exploitais même mais dont je n'avais tout simplement pas pris conscience: ajouter ou changer une donnée dans une requête sélection ajoute ou change la donnée dans la table sur laquelle elle est basée. Je crois qu'un préjugé basé sur une expérience lors de mes tous premiers pas sur Access m'obscurcissait la vision, et je cherchais des solutions à des problèmes qui n'y étaient pas...

Merci pour l'aide, et désolé d'avoir eu l'air aussi idiot...
Louis Gilbert est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h36.


 
 
 
 
Partenaires

Hébergement Web