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 :

requete sql avec connection ADO data environment [ Base de données / ADO & DAO ]


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut requete sql avec connection ADO data environment [ Base de données / ADO & DAO ]
    Bonjour,

    j ai un petit soucis lors d'une requete sql passe a mon objet data environment.

    En gros pour faire un test j ai cree trois bouton: test 1, test 2 et reset.
    le code du bouton 1 doit mon renvoyer dans une Grid (dgJobSlits) le resultats d'une requete sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DEnv.Commands("CmdFilter").CommandText = "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '04/06/2009' AND '25/06/2009' "
    dgJobSlits.DataMember = "CmdFilter"
    dgJobSlits.Refresh
    DEnv.rsCmdFilter.Close
    DEnv.rsCmdFilter.Open
    Le bouton 2 doit me renvoyer un autre resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DEnv.Commands("CmdFilter").CommandText = "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '04/06/2009' AND '25/06/2009' AND WIDTH = 500"
    DEnv.Commands("CmdFilter").Execute
     
    dgJobSlits.DataMember = "CmdFilter"
    dgJobSlits.Refresh
    Label4.Caption = DEnv.Commands("CmdFilter").CommandText
    DEnv.rsCmdFilter.Close
    DEnv.rsCmdFilter.Open
    Code du bouton reset, cense me redonner toutes les infos de la base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dgJobSlits.DataMember = "JobSlits"
    dgJobSlits.Refresh
    Label4.Caption = DEnv.Commands("CmdFilter").CommandText
    Or mon soucis est que Si je fais test1 en premier, les resultats du bouton test2 seront ceux de test1. Et si je commence par cliquer sur test2, les resultats de test1 seront ceux de test2.
    Le bouton reset semble marcher comme je le veux..

    Avez vous une idee ?

    Merci beaucoup

  2. #2
    Membre régulier Avatar de jfdmagic
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 181
    Points : 124
    Points
    124
    Par défaut
    bonjour,

    On a une vie de notre côté et la nuit on dort alors soit patient, merci

    pour revenir à ton problème, au hasard, tu n'aurais pas oublié ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEnv.Commands("CmdFilter").Execute
    dans le code du bouton 1...?


    (je n'utiliserai pas cette syntaxe personnellement : ça ne vaut pas dire qu'elle est fausse hein)

    Bonne continuation =)
    Pourquoi faire simple lorsqu'on peut faire compliqué ?

    "Pensez-vous que l'ignorance et l'indifférence sont les plus grands maux de l'humanité ?
    - Je ne sais pas et je m'en moque !"



    Pensez à l'icône

    Pour télécharger MSDN, cliquez ici

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut
    Désolé pour le up, c'est vrai j'aurais pu attendre, mais j'avais juste un peu peur que le sujet tombe dans l'oublie.

    Concernant mes nuits, je dors très bien merci, mais je suis désolé que quand je travaille ici en Nouvelle Zélande, ça corresponde à vos nuits en France

    Merci pour ta proposition, mais j'avais déjà essayé et ça ne fonctionne malheureusement pas. J'ai juste du oublié de réécrire cette ligne lors du copier-coller. D'autant plus que le soucis est vraiment bizarre puisque les deux filtres fonctionnent, mais une seule fois. C'est plus comme si il y avait une mémoire cache que je n'aurais pas réinitialisée ou quelque chose comme ça.

    merci de ton aide en tout cas.

    Quelqu'un connait un tuto sur les data environment ?

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Peut être un refresh apres le open ?
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut
    Salut,

    je viens d'essayer le refresh apres le open, et ca ne marche toujours pas.. Est-ce que quelqu'un a une idee ?


    Pleeeaaassseeee

  6. #6
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Je ne connais que très peu l'objet Data environnement, je l'ai trouvé très peu pratique au début de mon apprentissage de la gestion de BD, je suis passé tout de suite aux objets ADO.
    Malgré tout, peut être que ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Command1_Click()
    ExecuteLaRequete "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '04/06/2009' AND '25/06/2009' "
    End Sub
     
    Private Sub Command2_Click()
    ExecuteLaRequete "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '04/06/2009' AND '25/06/2009' AND WIDTH = 500"
    Label4.Caption = Denv.Commands("CmdFilter").CommandText
    End Sub
     
    Sub ExecuteLaRequete(Requete As String)
    Denv.rsCmdFilter.Close
    Denv.Commands("CmdFilter").CommandText = Requete
    Denv.Commands("CmdFilter").Execute
    Denv.rsCmdFilter.Open
    If dgJobSlits.DataMember <> "CmdFilter" Then dgJobSlits.DataMember = "CmdFilter"
    dgJobSlits.Refresh
    End Sub
    Je n'ai pas trouvé les objets correspondant à ton Denv et donc je n'ai pas peu faire d'essais, le code proposé n'ai qu'une réflexion d'un enchainement qui me paraitrait logique transposé aux objets ADO.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 93
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    ça marche, merci beaucoup c'est vraiment gentil...

    j'ai un peu adapté ton code car apparement il ne pouvait pas fermé un élément déjà fermé ...

    finalement ça donne ça et ça marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dgJobSlits.DataMember = "JobSlits"
    dgJobSlits.Refresh
    date1 = Format$(DTPicker_date1.value, DATEFORMAT)
    date2 = Format$(DTPicker_date2.value, DATEFORMAT)
     
    If DEnv.rsCmdFilter.State = 1 Then DEnv.rsCmdFilter.Close
    'DEnv.Commands("CmdFilter").CommandText = "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '" & DTPicker_date1.value & "' AND '" & DTPicker_date2.value & "'"
    DEnv.Commands("CmdFilter").CommandText = "SELECT * FROM slitter.jobslits WHERE JobDate BETWEEN '" & date1 & "' AND '" & date2 & "'"
     
    dgJobSlits.Refresh
    DEnv.Commands("CmdFilter").Execute
    DEnv.rsCmdFilter.Open
    If dgJobSlits.DataMember <> "CmdFilter" Then dgJobSlits.DataMember = "CmdFilter"
    dgJobSlits.Refresh
    merci vraiment beaucoup

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/05/2011, 09h41
  2. Requete sql avec ADO data environment
    Par nikolanta dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 26/06/2009, 07h22
  3. Connection et requete sql avec java
    Par martos dans le forum NetBeans
    Réponses: 8
    Dernier message: 28/08/2007, 21h57
  4. Type de retour pour ma requete SQL avec ADO !
    Par Nixeus dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2007, 10h07
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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