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

IHM Discussion :

problème lors de la liaison d'un recordset à un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut problème lors de la liaison d'un recordset à un formulaire
    J'ai suivi les instructions de la FAQ, très bien faites, et ça a l'air de marcher; mon formulaire renvoie le bon nombre de lignes; le problème est que toutes ces lignes sont vides! Pas moyen d'avoir d'en avoir le contenu! J'ai vérifié et le recordset contient bien les bonnes infos, et la liaison marche au moins en partie, vu que le formulaire me génère un nombre de lignes vides qui correspond on nombre de résultats que renvoie la requête. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Dim oDb As DAO.Database
        Dim oQdf As DAO.QueryDef
        Dim oRst As DAO.Recordset
        Set oDb = CurrentDb
        Set oQdf = oDb.QueryDefs("activite centre de transport total")
        If Me!listegaz <> "tous" Then
            oQdf.Parameters("param_gaz").Value = Me!listegaz
        Else
            oQdf.Parameters("param_gaz").Value = "lox"
        End If
        Set oRst = oQdf.OpenRecordset
        Set Me.Recordset = oRst

    si vous ave zune idée, merci beaucoup!!
    Marco

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Peut etre, après le code existant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.NomControleFormulaire = oQdf![nomduchamps]
    Ou sinon mettre le recordset comme rowsource de ton formulaire.

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    je ne connais pas du tout cette méthode d'affectation, tu as trouvé ça où ? dans l'aide / tuto / FAQ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Me.Recordset = oRst

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par cafeine
    Hello,

    je ne connais pas du tout cette méthode d'affectation, tu as trouvé ça où ? dans l'aide / tuto / FAQ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Me.Recordset = oRst
    voilà un exemple, en fait c'est dans le forum

    http://www.developpez.net/forums/vie...816&highlight=

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Celia1303
    Peut etre, après le code existant :
    Ou sinon mettre le recordset comme rowsource de ton formulaire.
    j'ai essayé, même résultat!

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    tes controles ont bien les champs de la table comme source de données ?

    As tu gérer l'affichage des colonnes de ta liste ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Celia1303
    tes controles ont bien les champs de la table comme source de données ?

    As tu gérer l'affichage des colonnes de ta liste ?
    Les contrôles n'avaient pas de table comme source de données, vu que le but était de les remplir avec le résultat d'une requête. J'ai re-lié ces contrôles avec une table pour voir, et donc j'ai affecté le recordset au formulaire par dessus, et cette fois ci j'ai "#Nom ?" dans tous les champs.
    Par ailleurs, il n'y a pas de liste dans mon formulaire.

  8. #8
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Donc si j'ai bien saisie, ton formulaire a comme rowsource une requete.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select Num_Ent, Nom_Ent from T_Entreprise;
    Ensuite pour les controles du formulaire, si tu as par exemple une zone de texte qui va afficher le nom de l'entreprise,
    le source de controle de cette zone est Nom_Ent.

    C'est bien ce que tu as fait ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    c'est bien ça.
    Là j'ai réussi à faire marcher le truc en créant une table vide (ici ça serait avec les colonnes Num_Ent, _Ent), que j'ai reliée aux contrôles; ensuite j'associe le recordset aux contrôles par dessus, ça fonctionne mais c'est pas très propre comme manière de faire

  10. #10
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    ensuite j'associe le recordset aux contrôles par dessus, ça fonctionne mais c'est pas très propre comme manière de faire
    Je comprend pas trop ce que tu as l'intention de faire.

    Avec comme rowsource du formulaire ton recordset,
    les controles ne peuvent afficher que les données enregistrées dans le recordset.

    Ou je n'ai pas tous compris ?

  11. #11
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par nattyman
    Citation Envoyé par cafeine
    Hello,

    je ne connais pas du tout cette méthode d'affectation, tu as trouvé ça où ? dans l'aide / tuto / FAQ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Me.Recordset = oRst
    voilà un exemple, en fait c'est dans le forum

    http://www.developpez.net/forums/vie...816&highlight=


    Très juste, si Tofalu le dit, c'est que c'est bon, mais il est vrai que je suis plus accoutumé à des choses du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.RecordSource = "SELECT ... "
    Me.Requery

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Celia1303
    ensuite j'associe le recordset aux contrôles par dessus, ça fonctionne mais c'est pas très propre comme manière de faire
    Je comprend pas trop ce que tu as l'intention de faire.

    Avec comme rowsource du formulaire ton recordset,
    les controles ne peuvent afficher que les données enregistrées dans le recordset.

    Ou je n'ai pas tous compris ?
    c'est bien ça. Mon problème à l'origine était que mes contrôles étaient indépendants (pas associés à une table ou reqête), et les valeurs ne s'affichaient pas. En gros y'avait le bon nombre de lignes, mais toutes les lignes étaient vides (en faisant ce qui est expliqué par Tofalu). Je sais pas si c'est clair, c'est pas facile à expliquer.
    Merci vous pour vos conseils en tous cas!

Discussions similaires

  1. Problème lors de l'insertion des valeurs d'un formulaire dans une base
    Par nour93 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 05/03/2015, 02h29
  2. [AC-2003] Problème lors du changement de la source d'un formulaire
    Par DeFCrew dans le forum IHM
    Réponses: 3
    Dernier message: 03/12/2010, 15h53
  3. [VBA] problème lors de l'UPDATE à cause d'un sous-formulaire
    Par fellower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/04/2007, 11h45
  4. Réponses: 6
    Dernier message: 08/02/2005, 17h50
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

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