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 :

Sélectionner plusieurs sources pour un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut Sélectionner plusieurs sources pour un formulaire
    Bonjour,

    J'ai une base ACCESS avec un formulaire et un etat. Le premier permet de saisir les paramètres. Dans un premier temps j'ai mis un paramètre et mis dans le formulaire qui découle de celui-ci en source une requete créée sous ACCESS dépendant de ce paramètre. L'affichage est parfait tout va bien. Je souhaiterai maintenant pouvoir, si un paramètre n'a pas été fourni par l'utilisateur changer de source de formulaire en concervant les même données en sotie,j'ai donc créé le bout de code sous VB.

    AUssi j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Forms![RechercheEnregistrementEffect].Form.RecordSource= "Code SQL"
    Le code SQL correspondant soit à une requête soit à l'autre. Mon problème est que maintenant à l'affichage dans l'affichage je n'ai plus qu'une ligne de résultat pour ma requête, et que ma base de données et inchangée.

    Quand je remet cette meme requete en source de mon formulaire le résultat et sur plusieurs lignes. Quand je copie/colle le code SQL généré en l'intégrant comme vu ci-dessus j'obtient une seule ligne.(Pas d'erreur de copier coller ^^)

    Merci à vous si vous pouvez m'aider se sera très aimable.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Avec la ligne SQL ce serait peut-être mieux !
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    La requête SQL est que j'ai récupéré de la génération de ma requête ACCESS à savoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ANALYSE.Analysis_order, ANALYSE.NOMANALYSE, EFFECTUER.RESULTATANALYSE, ESSAI.DATEDEMANDE, PRODUIT.NOMPROJET, PRODUIT.NOMPRODUIT, ESSAI.REFESSAI, PRODUIT.NOMPROJET, PRODUIT.NOMPRODUIT, ENREGISTREMENT.REFESSAI, EFFECTUER.DATETESTANALYSE
    FROM PROJET INNER JOIN (PRODUIT INNER JOIN (ESSAI INNER JOIN (ENREGISTREMENT INNER JOIN (ANALYSE INNER JOIN EFFECTUER ON ANALYSE.NOMANALYSE = EFFECTUER.NOMANALYSE) ON ENREGISTREMENT.ENREGLABO = EFFECTUER.ENREGLABO) ON ESSAI.REFESSAI = ENREGISTREMENT.REFESSAI) ON (PRODUIT.NOMPRODUIT = ESSAI.NOMPRODUIT) AND (PRODUIT.NOMPROJET = ESSAI.NOMPROJET)) ON PROJET.NOMPROJET = PRODUIT.NOMPROJET
    WHERE (((ESSAI.DATEDEMANDE) Between [Formulaires]![SélectionEnreg]![DateDebut] And [Formulaires]![SélectionEnreg]![DateFin]) AND ((ENREGISTREMENT.TOPSUP)=False) AND ((ENREGISTREMENT.ENREGLABO)=[Formulaires]![SélectionEnreg]![RefLabo])) OR (((ENREGISTREMENT.TOPSUP)=False) AND ((ENREGISTREMENT.ENREGLABO)=[Formulaires]![SélectionEnreg]![RefLabo]))
    ORDER BY ANALYSE.Analysis_order, ANALYSE.NOMANALYSE;
    Cette requête lorsque je la met en source par son nom de requete (et pas par le SQL) sans passer par VB fonctionne. Dans la source avec le code SQL j'ai l'erreur suivante : L'instruction est trop complexe pour etre évaluée la première fois puis m'affiche correctement sans erreur les fois suivante. Avec VB je me retrouve avec une seule ligne en résultat dans mon état au lieu de 6 ou 7 normalement.

    En mettant Forms![SélectionEnreg]![RefLabo].value à la place de [Formulaires]![SélectionEnreg]![RefLabo] cela ne change rien au résultat

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Bonjour,

    Remplace tes liens [Formulaires] par leur valeur Me.moncontrole pour essayer d'alléger la requête.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    En fait je teste sur clic dans un bouton si un paramètre est présent est présent dans le formulaire ou se trouve se bouton et j'excute le code suivant dans mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If TROUVE Then
     
                DoCmd.OpenForm stDocName, , stLinkCriteria
    'stDocName correspond à l'état RechercheEnregistrementEffect
                Forms![RechercheEnregistrementEffect]!Reflabo.Value = Me!Reflabo.Value
                If Forms![SélectionEnreg].DateDebut.Value = "" Or Forms![SélectionEnreg].DateFin.Value = "" Then
                    Forms![RechercheEnregistrementEffect]!.Form.RecordSource = "CodeSQL"
    Dans des mes requêtes je fais appel aux variables de mon formulaire et non de l'état c pour cela que j'ai pas mis de Me.
    Dans l'état dans lequel s'affiche mon résultat seul s'affiche la premiere ligne dans la section détail.
    Y a t il une manipulation particulière pour afficher plusieurs lignes s'il y a pusieurs résultats ?
    Je pose cette question dans le sens cela me parait bizzare que seule la première ligne s'affiche.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Je m'excuse de vous avoir déranger j'ai tout simplemen pas fait attention que mes enregistrements sont dans une seule ligne et que je les fait défiler avec la scroll bar.

    Ce qui est vraiment bizzare c'est qu'avant de passer par une source en VBA, dans mon formulaire dans la partie détail j'avais une ligne par enregistrements.
    Maintenant j'ai une seule ligne et seule la scroll bar me permet de faire défiler les lignes. Je m'explique.. un ligne avec X colonnes. Quand j'utilise la molette de la souris ou la scroll bar je me retrouve avec la ligne suivante de ma source mais contenue dans cette même unique ligne, donc je n'ai plus la précédente ligne en visuel.

    Quelqu'un saurait il comment régler ce problème afficher autant de lignes que de résultats plutot que d'afficher tous les résultats sur une seul ligne avec les résultats qui défilent grâce à la srolll bar ?

    Merci beaucoup

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par FuNkY48
    Maintenant j'ai une seule ligne et seule la scroll bar me permet de faire défiler les lignes. Je m'explique.. un ligne avec X colonnes. Quand j'utilise la molette de la souris ou la scroll bar je me retrouve avec la ligne suivante de ma source mais contenue dans cette même unique ligne, donc je n'ai plus la précédente ligne en visuel.
    Est ce que ton formulaire en mode continu?
    Amicalement

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Tu n'as pas besoin de remettre ca http://www.developpez.net/forums/sho...d.php?t=262891
    Amicalement

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Mon formulaire est effectivement en Mode Continu
    Voici les paramètres et un bout de visuel de celui-ci


    Désolé par avance pour la taille de l'image mais c'est pour permettre un bon visuel dessus.




    Merci encore pour votre aide ca m'est vraiment d'un grand secours

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Je n'ai toujours pas trouvé la solution à mon problème donc si quelqu'un à la solution je suis toujours preneur, je pense que c'est une simple option ou autre à sélectionner mais je n'arrive pas a voir laquelle.

    Merci

Discussions similaires

  1. Plusieurs sources pour un script.
    Par Alphonse87 dans le forum ANT
    Réponses: 1
    Dernier message: 13/01/2009, 14h44
  2. Macro avec plusieurs conditions pour ouverture formulaire
    Par Jacques-Henri dans le forum IHM
    Réponses: 2
    Dernier message: 05/08/2008, 22h44
  3. Source pour un formulaire
    Par Mut dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/09/2007, 14h21
  4. plusieurs choix pour un formulaire affiche
    Par geay dans le forum Access
    Réponses: 12
    Dernier message: 06/10/2006, 15h06
  5. plusieurs source pour un form
    Par polo(31) dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2006, 09h55

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