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 02/12/2010, 16h33   #1
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
Par défaut bouton recherche en vba

Bonjour,

suis novice en vba et j'ai créer un formulaire double affichage sur une base de données d'une douzaine de table toutes en relation

sur ce formulaire j'ai intégrer deux liste déroulante et j'aimerais réaliser une recherche sur ces deux critères et afficher tout les champs de ma base correspondant à ces critères
voila le code (incomplet)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Cmd_rechercher_Click()
Dim strEspece As String, strHabitat As String, strSql As String
Dim rs As Recordset

    strEspece = Me.espece_box         ' recupère le nom de d'especes
    strHabitat = Me.habitat_box       ' recupère le nom du d'habitat
    
    strSql = "SELECT requete....
    
    Me.detail.RowSource = strSql  ' affecte sql a la zone detail du formulaire
    Me.detail.Requery             ' recalcule la liste
    

End Sub
mais je ne suis pas sur de la zone rouge qui correspond à la requête sur laquelle est basé ma recherche.

1ere question: est ce que je me plante carrément,mon code n'est pas bon ou je ne prend pas la bonne direction?


si c'est bon dois je coller ma requête après strSql=
et insérer[Forms]![Requête]![liste deroulante_box] sur les deux champs qui corresponde à mes critère de recherche??


merci de votre aide en espérant que j'ai été claire
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 16h42   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,
La démarche est bonne.
Je te suggère
1° de construire ta requête avec l'aide Access
2° de voir ceci
http://www.developpez.net/forums/d99...-formater-sql/
pour formater le sql et le placer là où tu l'indiques
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 11h04   #3
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
merci de ton aide!!

j'ai essayé ton utilitaire, malheureusement pour moi il ne transforme pas du tout ma requête sql??

et suis toujours au même point je ne vois pas trop comment lui indiquer d’exécuter ma requête sur les deux critères
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 11h25   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Citation:
j'ai essayé ton utilitaire, malheureusement pour moi il ne transforme pas du tout ma requête sql
Peux-tu poster le sql de cette requête stp?
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 11h31   #5
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
ok

Code :
1
2
 
"SELECT ESPECES.CD_NOM, ESPECES.LB_NOM, ESPECES.LB_AUTEUR, ESPECES.NOM_COMPLET, HABITATS.CD_HAB, HABITATS.LB_HAB, CARACTERISTIQUES.CD_HAB, CARACTERISTIQUES.A_RENSEIGNER_CARAC, CARACTERISTIQUES.PROTOCOLE_CARAC, CARACTERISTIQUES.ECHELLE_CARAC, SUPERFICIES.CD_HAB, SUPERFICIES.A_RENSEIGNER, SUPERFICIES.PROTOCOLE_SUP, SUPERFICIES.ECHELLE_SUP, DESCRIPTEURS_EC.CD_HAB, DESCRIPTEURS_EC.PARAMETRE, DESCRIPTEURS_EC.CRITERE, DESCRIPTEURS_EC.DESCRIPTEUR, DESCRIPTEURS_EC.METRIQUES, DESCRIPTEURS_EC.METHODES, DESCRIPTEURS_EC.ECHELLE_DESCRIPT, DESCRIPTEURS_EC.PROTOCOLE_DCE, DESCRIPTEURS_EC.PROTOCOLE_REBENT, TYPOLOGIES.CD_TYPO, TYPOLOGIES.LB_TYPO, FRAGILITE.CD_NOM, FRAGILITE.CD_PRES, FRAGILITE.FRAGILITE, FRAGILITE.BIBLIOGRAPHIE, SENSIBILITE.CD_NOM, SENSIBILITE.CD_PRES, SENSIBILITE.SENSIBILITE, SENSIBILITE.BIBLIOGRAPHIE, RESILIENCE.*, RESILIENCE.CD_NOM, RESILIENCE.CD_PRES, RESILIENCE.RESILIENCE, RESILIENCE.BIBLIOGRAPHIE, BIOLOGIE.CD_HAB, BIOLOGIE.CD_NOM, BIOLOGIE.BIO_GEN, BIOLOGIE.BIO_GEN_BIBLIO, BIOLOGIE.HAB_PREF_DISTRI, BIOLOGIE.HAB_PREF_DISTRI_BIBLIO, BIOLOGIE.REPRO_TRAITS_VIE, BIOLOGIE.REPRO_TRAITS_VIE_BIBLIO, BIOLOGIE.COMMENTAIRES, PRESSIONS.CD_PRES, PRESSIONS.LB_PRES, BIO_REG.[CD-REG], BIO_REG.[LB-REG], CRSP_HABITATS.CD_HAB1, CRSP_HABITATS.CD_HAB2, CRSP_HABITATS.CRSP FROM TYPOLOGIES INNER JOIN (PRESSIONS INNER JOIN ((((((BIO_REG RIGHT JOIN HABITATS ON BIO_REG.[CD-REG] = HABITATS.CD_REG) INNER JOIN CRSP_HABITATS ON (HABITATS.CD_HAB = CRSP_HABITATS.CD_HAB2) AND (HABITATS.CD_HAB = CRSP_HABITATS.CD_HAB1)) INNER JOIN CARACTERISTIQUES ON HABITATS.CD_HAB = CARACTERISTIQUES.CD_HAB) INNER JOIN DESCRIPTEURS_EC ON HABITATS.CD_HAB = DESCRIPTEURS_EC.CD_HAB) INNER JOIN (((HABITATS_ESPECES INNER JOIN (FRAGILITE INNER JOIN (BIOLOGIE INNER JOIN ESPECES ON BIOLOGIE.CD_NOM = ESPECES.CD_NOM) ON FRAGILITE.CD_NOM = ESPECES.CD_NOM) ON HABITATS_ESPECES.CD_NOM = ESPECES.CD_NOM) INNER JOIN RESILIENCE ON ESPECES.CD_NOM = RESILIENCE.CD_NOM) INNER JOIN SENSIBILITE ON ESPECES.CD_NOM = SENSIBILITE.CD_NOM) ON HABITATS.CD_HAB = HABITATS_ESPECES.CD_HAB) INNER JOIN SUPERFICIES ON HABITATS.CD_HAB = SUPERFICIES.CD_HAB) ON (PRESSIONS.CD_PRES = SENSIBILITE.CD_PRES) AND (PRESSIONS.CD_PRES = RESILIENCE.CD_PRES) AND (PRESSIONS.CD_PRES = FRAGILITE.CD_PRES)) ON TYPOLOGIES.CD_TYPO = HABITATS.CD_TYPO;"
merci
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 13h27   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Merci pour ton envoi.

Apparemment, ce code est erroné vois :
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 14h18   #7
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
celui marche je l'ai essayé dans access et il m'a donnée le résultat escompté!

merci

Code :
"SELECT HABITATS.CD_HAB, HABITATS.CD_REG, HABITATS.CD_TYPO, HABITATS.LB_HAB, ESPECES.CD_NOM, ESPECES.LB_NOM, ESPECES.LB_AUTEUR, ESPECES.NOM_COMPLET, CARACTERISTIQUES.CD_HAB, CARACTERISTIQUES.A_RENSEIGNER_CARAC, CARACTERISTIQUES.PROTOCOLE_CARAC, CARACTERISTIQUES.ECHELLE_CARAC, BIO_REG.[CD-REG], BIO_REG.[LB-REG], SUPERFICIES.CD_HAB, DESCRIPTEURS_EC.CD_HAB, DESCRIPTEURS_EC.PARAMETRE, DESCRIPTEURS_EC.CRITERE, DESCRIPTEURS_EC.DESCRIPTEUR, DESCRIPTEURS_EC.METRIQUES, DESCRIPTEURS_EC.METHODES, DESCRIPTEURS_EC.ECHELLE_DESCRIPT, DESCRIPTEURS_EC.PROTOCOLE_DCE, DESCRIPTEURS_EC.PROTOCOLE_REBENT, SUPERFICIES.A_RENSEIGNER, SUPERFICIES.PROTOCOLE_SUP, SUPERFICIES.ECHELLE_SUP, CRSP_HABITATS.CD_HAB1, CRSP_HABITATS.CD_HAB2, CRSP_HABITATS.CRSP, BIOLOGIE.CD_HAB, BIOLOGIE.CD_NOM, BIOLOGIE.BIO_GEN, BIOLOGIE.BIO_GEN_BIBLIO, BIOLOGIE.HAB_PREF_DISTRI, BIOLOGIE.HAB_PREF_DISTRI_BIBLIO, BIOLOGIE.REPRO_TRAITS_VIE, BIOLOGIE.REPRO_TRAITS_VIE_BIBLIO, BIOLOGIE.COMMENTAIRES, RESILIENCE.CD_NOM, RESILIENCE.CD_PRES, RESILIENCE.RESILIENCE, RESILIENCE.BIBLIOGRAPHIE, SENSIBILITE.CD_NOM, SENSIBILITE.CD_PRES, SENSIBILITE.SENSIBILITE, SENSIBILITE.BIBLIOGRAPHIE, FRAGILITE.CD_NOM, FRAGILITE.CD_PRES, FRAGILITE.FRAGILITE, FRAGILITE.BIBLIOGRAPHIE, PRESSIONS.CD_PRES, PRESSIONS.LB_PRES FROM PRESSIONS INNER JOIN (FRAGILITE INNER JOIN (SENSIBILITE INNER JOIN (RESILIENCE INNER JOIN (BIOLOGIE INNER JOIN (TYPOLOGIES INNER JOIN ((((((BIO_REG RIGHT JOIN HABITATS ON BIO_REG.[CD-REG] = HABITATS.CD_REG) INNER JOIN CRSP_HABITATS ON (HABITATS.CD_HAB = CRSP_HABITATS.CD_HAB1) AND (HABITATS.CD_HAB = CRSP_HABITATS.CD_HAB2)) INNER JOIN CARACTERISTIQUES ON HABITATS.CD_HAB = CARACTERISTIQUES.CD_HAB) INNER JOIN DESCRIPTEURS_EC ON HABITATS.CD_HAB = DESCRIPTEURS_EC.CD_HAB) INNER JOIN (HABITATS_ESPECES INNER JOIN ESPECES ON HABITATS_ESPECES.CD_NOM = ESPECES.CD_NOM) ON HABITATS.CD_HAB = HABITATS_ESPECES.CD_HAB) INNER JOIN SUPERFICIES ON HABITATS.CD_HAB = SUPERFICIES.CD_HAB) ON TYPOLOGIES.CD_TYPO = HABITATS.CD_TYPO) ON BIOLOGIE.CD_NOM = ESPECES.CD_NOM) ON RESILIENCE.CD_NOM = ESPECES.CD_NOM) ON SENSIBILITE.CD_NOM = ESPECES.CD_NOM) ON FRAGILITE.CD_NOM = ESPECES.CD_NOM) ON (PRESSIONS.CD_PRES = FRAGILITE.CD_PRES) AND (PRESSIONS.CD_PRES = RESILIENCE.CD_PRES) AND (PRESSIONS.CD_PRES = SENSIBILITE.CD_PRES); "
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 14h33   #8
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Merci beaucoup et excuse-moi, j'avais fait une mauvaise manoeuvre avec ta requête précédente.

Pour t'aider dans ton formulaire de recherche, peux-tu poster une BDD comptabile Access2000, cela nous permettra de dialoguer avec des données concrètes.
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 14h37   #9
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
ha OK,

désolé c'est pas une base de données que je peux communiquer comme ça,
c'est plutôt sensible comme information
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 16h20   #10
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Dans ta BDD, il y a deux requêtes (Requête_GENERALE et Requête).
Comment les as-tu créées ?
Je ne parviens pas à comprendre pourquoi chacune d'elles ne donne que Un seul enregistrement. (hasard de l'échantillon ?)

Ce qui serait nécessaire pour faire fonctionner ton formulaire de recherche, c'est une requête qui donnerait l'ensemble des cas possibles.
Ainsi, lorsque espece_box et habitat_box seraient mis à jour, on créerait le sql de la requête filtrant sur ces 2 critères.

Peux-tu poster cette requête ?

Ps Ce ne serait pas un luxe de lire, une fois dans ta vie :

- conventions typographiques
http://argyronet.developpez.com/office/vba/convention/
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 19h45   #11
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
ok je vais la lire

j'utilise seulement 'requête'
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 06h39   #12
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Citation:
j'utilise seulement 'requête'
Avec l'échantillon de table que tu m'as donné, j'ai seulement 1 enregistrement sélectionné par la requête "requête" : Marécages/alba.

Est-ce parce que les tables ne sont pas complètes ?

Avec ton formulaire de recherche, que veux-tu faire ?
Choisir les enregistrements de Requête qui satisfont aux choix mentionnés dans espece_box et habitat_box ?
-----------
La taille de ta BDD
Dans Outils/options/onglet Général --> compacter à la fermeture. Te fait passer de 10.000 à 5.000 Ko.
Si tu places l’image de ton formulaire en dehors de la BDD ---> 668 Ko
On revient sur le sujet plus tard, si intérêt.
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 12h57   #13
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
oui mes tables ne sont pas complètes, ce ne sont que des valeurs de test

pour l'instant j'aimerais en effet sélectionnés les info (bouton recherche) ,qui correspondent aux critères des deux listes déroulantes.
plus tard peut être pouvoir choisir d'afficher seulement certains champs avec les cases à cocher. mais bon le plus important ce serait déjà de pouvoir sélectionner toutes les infos!

merci pour l'info sur le compactage j'avais en effet lu cette possibilité!
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 13h53   #14
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,
dans la BDD que je t'ai fait parvenir par courriel, le formulaire est polyvalent :
- il affiche tout si aucun choix n'est émis
- il affiche une sélection restreinte automatiquement (donc pas besoin d'un clic sur un bouton !) au fur et à mesure que un critère est choisi par l'utilisateur.

Je n'ai pas posté cette BDD, ne sachant si tu considérais l'information sensible.
Si tu juges que l'exemple peut-être rendu plublic, je t'invite à poster ce fichier.
A+
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP 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 12h26.


 
 
 
 
Partenaires

Hébergement Web