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 :

Requete dynamique dans formulaire


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut Requete dynamique dans formulaire
    Bonjour
    Toujours mon histoire de formulaire contenant 3 sous formulaire.

    J'ai un souci auquel je n'avais pas pensé
    Ce formulaire est accessible depuis un autre, et en faite j'ai besoin de crée une requete dynamique qui afficherait mes formulaire

    Clairement
    Formulaire A (form-Projet): Formulaire depuis lequel j'appelle un formulaire B( form_devis)

    Dans form devis * N°projet ( commum entre A et lui meme)
    _____________* ID_CHI_CE( lien avec 1er sous formulaire )
    _____________* ID_CHI_CS( lien avec 2er sous formulaire )
    _____________* ID_Dev( lien avec 3eme sous formulaire )


    Ce que j'ai besoin de faire c'est

    si pour Num projet ID_CHI_CE <>"" alors la requete sera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT T_CHIFFRAGE_CE.ID_CHI_CE
    FROM T_PROJET INNER JOIN T_CHIFFRAGE_CE ON T_PROJET.ID_PRO = T_CHIFFRAGE_CE.ID_PRO;
    si pour Num projet ID_CHI_CS <>"" alors la requete sera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT T_CHIFFRAGE_CS.ID_CHI_CS
    FROM T_PROJET INNER JOIN T_CHIFFRAGE_CS ON T_PROJET.ID_PRO = T_CHIFFRAGE_CS.ID_PRO;
    si pour Num projet ID_DEV <>"" alors la requete sera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT T_DEVIS.ID_DEV
    FROM T_PROJET INNER JOIN T_DEVIS ON T_PROJET.ID_PRO = T_DEVIS.ID_PRO;
    ça en sachant que si ID_CHI_CS<>"" alors ID_CHI_CE="" et inversement mais ce n'est pas le cas pour ID Devis qui est rempli ou non independamment des deux autres.

    Il me semble evidemment de passer par du vba Mais le probleme et donc la question
    Comment crée une requete qui varie ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Citation Envoyé par titeZ Voir le message
    ça en sachant que si ID_CHI_CS<>"" alors ID_CHI_CE="" et inversement mais ce n'est pas le cas pour ID Devis qui est rempli ou non independamment des deux autres.

    Il me semble evidemment de passer par du vba Mais le probleme et donc la question
    Comment crée une requete qui varie ?
    Pour cela il faut que tu passe par le DAO, en VBA la source SQL d'une requête est inteprétée en tant chaîne de caractères donc tu peux écrire la chaîne et y inclure des variables qui seront le resultat de tes tests.

    tuto de Tofalu sur les requêtes "dynamiques" :
    Création et paramétrage dynamique de requêtes

    un autre sur l'ensemble DAO :
    Définition et manipulation de données avec DAO

    Dolphy

  3. #3
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Merci,
    je viens de regarder le tutoriel,
    le souci c'es que dans le tutoriel, la requete et la emem tt le temps ce qui change c'est un critere,
    moi je cherche a carrement changer les tables.

    dANS LE TUTO :
    Les resultats sortent...Ensuite on choisi le pays et hop la on obtient ce qu'on veut

    Moi ca ne se passe pas comme ça
    Lorsque je viens de mon premier formulaire a ce formulaire devis ( dc au load du formulaire devis je dois verifier que pour le num projet enregister ( ça c'est ok !)
    il existe soit ID_CHI_CE soit ID_CHI_CS et/ou ID_Dev et ensuite afficher les resultats pour ceux existant

    Tu voies la difference ? je n'ai pas juste un where a modifier et la j'ai achement de mal...

  4. #4
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Bon ça bloquea cause des raisons que j'ai indiqué au dessus mais j'ai une question a propos di tutoriel qd meme

    ici;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      strSQLModele = Replace(strSQLModele, "[criterepays]", Chr(34) & Nz(cboPays) & Chr(34))
    La le choix ce fait sur une combobox
    mais si par exemple le critere pays se trouve dans une cellule txt nommé critere du formulaire
    comment faire pr la récuperer ?

    Merci .

Discussions similaires

  1. creation d une requete dynamique dans une procedure stockee
    Par oxilab dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/02/2008, 15h57
  2. Réponses: 0
    Dernier message: 05/12/2007, 11h01
  3. génération de requete dynamique dans une entitie
    Par osman.amine dans le forum Struts 1
    Réponses: 3
    Dernier message: 12/06/2007, 13h52
  4. petit probleme de requete SQL dans formulaire
    Par kumo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/06/2007, 15h37
  5. [VBA] Requete paramétrée dans formulaire
    Par Docsmea dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 12h52

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