IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Resultat requete SQL dans SousFormulaire


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Resultat requete SQL dans SousFormulaire
    Bonjour,
    je sais qu'un post a été traité sur le même sujet hier mais je n'arrive pas à résoudre mon problème même avec les différents conseils trouvés. Je pense que quelquechose m'échappe

    J'ai un formulaire et j'aimerais que lorsqu'on clique sur "Rechercher", le sousformulaire placé juste en dessous apparaisse avec les résultats.
    Classique donc !

    Formulaire : formMOLECULE
    Sousformulaire : ssformMOLECULEres , déjà créé en mode continu dans le formMOLECULE et ne contient aucun contrôle. Par défaut je n'ai rien mis dans le recordsource car j'aimerais le faire uniquement en VBA.

    Voici mon code simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub cmdFind_Click()
    'je vous passe les declarations et recuperations de parametres
    '
    strFindSQL = "SELECT MOLECULE.NOM, MOLRELATION.ID_MOLECULE2, MOLRELATION.ID_MOLECULE, MOLRELATION.ID_TYPERELATION " & _
    "FROM MOLECULE " & _
    "LEFT JOIN MOLRELATION ON  MOLECULE.ID_MOLECULE = MOLRELATION .ID_MOLECULE2 " & _
    "WHERE MOLECULE.NOM like '" & strParametre & "*'"
     
    Me.ssformMOLECULEres.Form.RecordSource = strFindSQL
    Me.ssformMOLECULEres.Form.Requery
     
    end sub
    Résultat: mon ssform reste vide et je nai pas de message d'erreur. Je tiens à préciser que ma requete SQL fonctionne très bien.
    J'arrive à obtenir mon affichage si je passe par la création d'une requête Access et que je l'attribue dans le recordsource du sousformulaire. Mais ce n'est pas ce que je veux faire : je veux pouvoir générer mon SQL à la volée en VBA sans le stocker dans QueryDefs.

    Au final je crois que ma question est la suivante :
    est ce possible de créer un ssform indépendant et de le rendre dépendant à la volée dans le code VBA ?

    J'espère être assez claire.
    merci d'avance

    nabalilu

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    ah j'ai oublié de préciser que je suis sous Access 2000 !

    nabalilu

  3. #3
    Membre régulier Avatar de ofinot
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 98
    Points : 100
    Points
    100
    Par défaut
    bonjour

    tu peux, dans ton sous formulaire, essayer de créer une procédure qui prend une requête en param et l'attribue à la source. Quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public sub set_source(sql as String)
        Me.form.recordsource = sql
        docmd.requery ""
    end sub
    Et tu appellerais cette procédure depuis ton form principal, comme décrit ici:
    http://access.developpez.com/faq/?pa...ExecProcSSForm

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse Ofinot.
    J'ai essayé mais ça ne change rien.
    Toujours pas de remplissage de mon sousform !

    Pourtant il doit bien y avoir moyen de moyenner non ???

    nabalilu

  5. #5
    Membre régulier Avatar de ofinot
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 98
    Points : 100
    Points
    100
    Par défaut
    Voilà comme j'ai fait pour mes sous formulaires dans mon projet actuel :

    Je crée un sous formulaire lié, avec en source une requête plus ou moins bidon, je fais un select des champs qui m'intéressent dans la table qui m'intéresse sans filtrage. Etant donné que tu veux que le tiens soit vide au départ tu n'as qu'à rajouter une condition bidon elle aussi de manière à ce que ta requête ne retourne aucun enregistrement. Après cela n'a guère d'importance ce qui m'intéresse c'est la structure, pour définir les divers contrôles du formulaire.


    Ensuite, sur l'évènement form_load, je change la source en fonction d'une variable globale qui correspond à mon filtre.
    Tu pourrais le faire lors du clic sur le bouton rechercher, à l'aide de la méthode que je t'ai indiquée plus haut.


    Après, je ne peux rien te garantir mais pour ma part je n'ai aucun soucis comme cela, et les indications que j'ai données pour l'adapter à ton cas ne changent pas grand chose, donc cela devrait fonctionner aussi chez toi.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Au final j'ai pas changé mon code VBA mais j'ai refait un sousform avec l'assistant à partir d'une requete semblable à mon SQL mais qui renvoie du "vide".
    Et là ça marche .
    Mon sousform n'est pas indépendant et je dois stocker une requete dans Access mais je ferai avec.

    Merci pour ton aide en tous cas
    au plaisir

  7. #7
    Membre régulier Avatar de ofinot
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 98
    Points : 100
    Points
    100
    Par défaut
    De rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  2. [MySQL] affichage resultat requete sql dans tableau
    Par fasyr dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/04/2009, 11h18
  3. Resultat requete SQL dans MsgBox
    Par PhRey dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/01/2007, 11h03
  4. Réponses: 1
    Dernier message: 25/10/2005, 12h18
  5. resultat requete SQL d'un select dans variable vb
    Par seb_06 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 11/10/2004, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo