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

VBA Access Discussion :

recuperer la valeur saisie dans une requete


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Par défaut recuperer la valeur saisie dans une requete
    Bonjour ,


    je souhaite editer un etat qui s'appuie sur une requete.
    Dans cette requete, il manque certains champs (date) qui sont demandés automatiquement par la machine à l'execution a travers une inputbox.
    Comment récupérer les infos saisies a ce moment la dans une variable ?
    ou alors , comment appeler l'etat pour que la requete s'execute avec une variable saisie ?

    merci de votre aide .

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Par défaut
    Bonjour,

    Tu peux exécuter ta requete en VBA et donc utiliser une variable pour l'input.

    Par exemple, sur le clique d'un bouton tu executes ta requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim Variable as String
     
    Variable = InputBox("Question?")

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Par défaut
    Citation Envoyé par le_niak Voir le message
    Bonjour,

    Tu peux exécuter ta requete en VBA et donc utiliser une variable pour l'input.

    Par exemple, sur le clique d'un bouton tu executes ta requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim Variable as String
     
    Variable = InputBox("Question?")
    ca c'est OK. c'est la suite qui me pose probleme :
    appeller l'etat avec une requete qui reprend la variable .
    a la base, mon etat est lié a la requete en question.
    est ce une condition dans le code ou alors faut il que je modifie mon état pour que les champs reprennent la valeur de la variable ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Par défaut
    précision du cas :

    code pour appeller l'etat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub btn_edition_Click()
     
    Dim dateenvoi As Date
     
     
    'update date d'envoi des docs a editer
     
    dateenvoi = InputBox("Entrez la date d'envoi des documents", "SAISIE", Date)
    DoCmd.RunSQL ("UPDATE contrat,annexe set dateenvoicontrat = " & dateenvoi & " ," & _
                    " dateenvoiannexe = " & dateenvoi & " where dateenvoicontrat is  null and dateenvoiannexe is  null")
     
    DoCmd.OpenReport "contrat DN", , ???
    en fait, mon but est d'ouvrir l'etat en question avec uniquement les résultats de la requete pour laquelle dateenvoiannexe et dateenvoicontrat = dateenvoi (saisie)


    la requete de l'état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT client.CDCLIENT, contrat.cdcontrat, annexe.cdannexe, annexe.typeannexe, services_annexe.cdservice, service.typeservice, RIB.IDRIB, acteur.CDACTEUR, acteur.NOM, acteur.ADRESSE, acteur.CP, client.RS, client.NOM, client.ADR1, client.ADR2, client.ADR3, client.CP, client.VILLE, contrat.dateintegrationcontrat, annexe.dateintegrationannexe, RIB.BQNOM, RIB.ETAB, RIB.GUICHET, RIB.NUMCPT, RIB.CLE, service.natureservice, service.descrservice, service.pdtservice, service.PUservice, services_annexe.qteservice, services_annexe.date_debut, services_annexe.date_fin, acteur.VILLE, contrat.typecontrat, service.modaliteremuservice, [client.nom] & [contrat.cdcontrat] & [annexe.cdannexe] & [caractereindex] AS [index]
    FROM [index], service INNER JOIN (((((acteur INNER JOIN client ON acteur.CDACTEUR = client.[CODE ACTEUR]) INNER JOIN contrat ON client.CDCLIENT = contrat.cdclient) INNER JOIN annexe ON contrat.cdcontrat = annexe.cdcontrat) INNER JOIN RIB ON client.CDCLIENT = RIB.CDCLIENT) INNER JOIN services_annexe ON annexe.cdannexe = services_annexe.cdannexe) ON service.typeservice = services_annexe.typeservice
    WHERE (((services_annexe.qteservice)<>0) AND ((contrat.typecontrat)="C-DN") AND ((contrat.dateenvoicontrat) Is Null) AND ((annexe.dateenvoiannexe) Is Null))
    ORDER BY acteur.CDACTEUR, [client.nom] & [contrat.cdcontrat] & [annexe.cdannexe] & [caractereindex], contrat.cdcontrat, annexe.cdannexe, service.typeservice;
    en rouge , la partie de la requete qui auparavant ne prenait que les champs vides mais que je viens de remplir par la commande update.

    en gros , c'est soit j'update les champs avant la requete , soit j'execute la requete et je récupere les valeur saisies pour les champs vide !!!

  5. #5
    Membre Expert

    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
    Par défaut
    Tu peux enlever la partie rouge de ta requête. Et en ouvrant ton état après la saisie de la date voulue tu ouvre ton état sur les enregistrements souhaité avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.OpenReport "contrat DN", , ,"[dateenvoicontrat] =  " & format(TaVariable;"mm.dd.yyyy")

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Par défaut
    Citation Envoyé par DMboup Voir le message
    Tu peux enlever la partie rouge de ta requête. Et en ouvrant ton état après la saisie de la date voulue tu ouvre ton état sur les enregistrements souhaité avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.OpenReport "contrat DN", , ,"[dateenvoicontrat] =  " & format(TaVariable;"mm.dd.yyyy")
    merci pour ta réponse, c'est exactement ce que je cherchais , la syntaxe du openreport !

    malheureusement , je me suis rendu compte entre temps que le besoin fonctionnel est d'éditer l'etat tel quel avec la requete existante.
    a l'edition , il va me demander mes date d'envoi pour renseigner les champs de l'état. et en fait , ce sont ces données que je veux récupérer pour ensuite faire la commande update pour mettre a jour les enregistrements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    oCmd.OpenReport ("contrat DN")
     
    ' a l'ouverture, l'interface access me demande les champs dateenvoiannexe et dateenvoicontrat qui sont a null pour editer l'etat
    ' je souhaite récupérer les valeurs entrées ici pour les utiliser dans la ligne suivante
     
    DoCmd.RunSQL ("UPDATE contrat,annexe set dateenvoicontrat = " & dateenvoi & " ," & _
                    " dateenvoiannexe = " & dateenvoi & " where dateenvoicontrat is  null and dateenvoiannexe is  null")

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/09/2008, 10h26
  2. récupérer la valeur saisie dans une combo box
    Par whitebird001 dans le forum MFC
    Réponses: 2
    Dernier message: 18/09/2008, 00h42
  3. comment recuperer les valeurs modifiees dans une collection
    Par anaisensitive dans le forum Struts 1
    Réponses: 11
    Dernier message: 09/09/2008, 10h56
  4. Comment recuperer un valeur envoyé dans une URL
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/12/2005, 11h28
  5. Affcecter une valeur NULL dans une requete paramétrée
    Par thiouwz2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 15h02

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