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

VB 6 et antérieur Discussion :

Modifier la requête de mon DataEnvironment


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut Modifier la requête de mon DataEnvironment
    Bonjour,

    j'ai crée un data environment qui sélectionne selon des critères de base mes données (requête définie dans mon projet source).
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM DATA WHERE VILLE="PARIS" ORDER BY NOM
    or je souhaiterais selon le besoin du user afficher mes contacts de PARIS dont le nom commence par "T"
    ma question : comment modifier la requête de mon DataEnvironment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM DATA WHERE VILLE="PARIS" AND Name LIKE "%T%" ORDER BY NOM
    Merci.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et ton probléme c'est quoi ? la sasisie de la requête qui soit dis en passant .. est peu -être à revoir ..
    - Le champ Nom se nomme NOM ou Name ?
    - pour commence par T .. c'est LIKE 'T%' non ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    exact je me suis planté sur le nom du champ !

    1 - ds mon projet je saisis ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM DATA WHERE VILLE="PARIS" ORDER BY NOM
    2 - je lance mon .exe, j'affiche donc la liste des contacts de PARIS
    3 - mon utilisateur souhaite mes contacts de PARIS dont le nom commence par T

    comment modifier ma requête de mon DataEnvironment via mon appli ?

  4. #4
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Bonjour
    Ton Ddataenvironment1.rsCommand1ataEnvironment possède un reciordset sous jacent (DataEnvironment1.rsCommand1). Dès lor que tu veux un peut t'amuser avec les propriétés ou la chaîne SQL, je pense que tu as intérêt à travailler directement avec ce recordset sous-jacent. Mieux, tu peux défirnir ron propre recordset (set rs = dataenvironment1.rsCommand1).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut Réponse à JACMA
    Bonjour,

    je ne comprends pas ton message !
    dans le code source de mon projet :
    DataEnvironment.rscommand1.source = "SELECT NOM FROM DATA WHERE VILLE LIKE 'PAR%'"

    ce que je ne comprends pas par rapport à ce que tu m'a écris :
    Ton Ddataenvironment1.rsCommand1ataEnvironment possède un reciordset sous jacent (DataEnvironment1.rsCommand1). Dès lor que tu veux un peut t'amuser avec les propriétés ou la chaîne SQL, je pense que tu as intérêt à travailler directement avec ce recordset sous-jacent. Mieux, tu peux défirnir ron propre recordset (set rs = dataenvironment1.rsCommand1).
    ex : le user décide d'afficher le nom et le prénom ; dont ce que tu me dis c'est de redéfinir le recordset de mon dataenvironment soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DataEnvironment.rscommand1.source = "SELECT NOM PRENOM FROM DATA WHERE VILLE LIKE 'PAR%'"
    MyFlexGrid.refresh
    autre ptite question :
    qu'est ce qui est le moins lourd pour une appli ?
    1 - utiliser un dataenvironment
    2 - ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL = "SELECT..."
    MaRequete.open SQL ...
    MSHFLEXGRID.DataSource = MaRequete

  6. #6
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Bonjour

    DataEnvironment1.rsCommand1.Source contient la chaîne SQL initiale que tu souhaites modifier, en l'occurence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM DATA WHERE VILLE="PARIS" ORDER BY NOM
    Tu veux modifier cette chaîne. Tu peux donc simplemment redéfinir la source du recordset sous jacent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataEnvironment1.rsCommand1.Source = SELECT * FROM DATA WHERE VILLE="PARIS" AND Name LIKE 'T%' ORDER BY NOM
    C'est une façon de faire. Pour ma part, j'utiliserais plûtot directement du code avec la création d'un recordet "normal". Le concepteur prend beaucoup de place et l'utilisation d'un "vrai" recordset me semble plus légère.

    Il est également possible d'envisager la création d'un second objet Command pour la même connexion, avec la source modifiée. Ensuite, tu peux définir par code l'objet Command source de ta DataGrid.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set DataGrid1.DataSource = DataEnvironment1
    DataGrid1.DataMember = "Command2"
    Pour finir, rien ne t'empêche de transmettre à ta requête l'argument de recherche, comme illustré ci-dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim strRecherche As String
    Dim SQL As String
    strRecherche = "P"    'prévoir un inputbox pour demander le critère à l'utilisateur.
    SQL = "SELECT* From Representants WHERE NomRepresentant LIKE '" & strRecherche & "%'"
     
    DataEnvironment1.rsCommand1.Close
    DataEnvironment1.rsCommand1.Source = SQL
    Set DataGrid1.DataSource = DataEnvironment2.rsCommand1
    DataEnvironment1.rsCommand1.Open
    Voilà. C'est brouillon, mais je suis pris par le temps et il faudrait aussi préciser le contexte... Là, j'ai essayé un rapide tour d'horizon.

    Bon Noel.

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/01/2006, 10h56
  2. Modifier une requête dans toutes ces tables...
    Par SnickeursMan dans le forum Requêtes
    Réponses: 6
    Dernier message: 14/12/2005, 13h08
  3. Modifier une requête en fonction de boutons d'option
    Par JahRastafari dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 13h42
  4. [Crystal Report 10]Modifier la requête SQL
    Par gwen-al dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 09/11/2004, 10h21
  5. [Crystal Reports 9] Modifier la requête SQL d'un état
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 21/10/2003, 10h47

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