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 :

VBA Probleme avec une requete parametré


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 131
    Points : 151
    Points
    151
    Par défaut VBA Probleme avec une requete parametré
    Bonjour

    Malgré la lecture de ce lien http://access.developpez.com/faq/?page=Requetes , je n'arrive pas gere une requete paramétré en vba

    ma requete est une simple requete selection qui prend tous les enregistrements avec comme paramètre [Saisie de la date du contrat]

    En faite l'ideal c'est que la requete n'affiche que les enregistrements que j'ai en fonction de la date que que je vais saisir dans un formulaire
    Voici mon code vba
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande1_Click()
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
    Dim oTxt As Scripting.TextStream
    Dim i As Integer
    Dim nomfichier, nomrequete, datefic, ligne1, lignesuiv As String
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
     
      ' Référence à la requête
    Set qdf = CurrentDb.QueryDefs("Rq_creation_de_ligne")
     qdf.Parameters("Date Contrat") = Me.DateDeb     '<== si requête paramétrée
     
    Set rcs = qdf.OpenRecordset

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Tant qu'à faire, crée à la volée le SQL de la requête.

    Montre le SQL de ta requête actuelle, je te construirai un exemple.

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 131
    Points : 151
    Points
    151
    Par défaut
    Merci pour ton aide,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Client.[DATE CONTRAT], Client.NUMCONTRAT, Client.NUMCLIENT, Client.NOMPRENOMS, Client.ADRESSE, [CODE POSTAL].[CODE INSEE], Client.ORDRE, Client.STATUS, [CODE POSTAL].VILLE, Client.[TYPE DE RACCORDEMENT], Client.[STATUS DE RACCORDEMENT], Client.[TYPE DE DEGROUPAGE], Client.TECHNOLOGIE, Client.PROFIL
    FROM Client INNER JOIN [CODE POSTAL] ON Client.[CODE POSTAL] = [CODE POSTAL].[Code Postal]
    WHERE (((Client.[DATE CONTRAT])>=[Formulaires]![Commande de ligne]![DateDeb] And (Client.[DATE CONTRAT])<=[Formulaires]![Commande de ligne]![Datefin]));
    En gros je souhaite a partir de mon formulaire de saisie que quand je cliques sur le bouton genere ma requete filtre uniquement les date de contrat compris entre la date de début et la date de fin.

    Nom : ecran genere fichier texte.jpg
Affichages : 333
Taille : 88,2 Ko

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Evite les caractères spéciaux, espaces, accents... dans les noms de tes objets et contrôles, ça finit toujours par empoisonner le code.
    Vois ce que des professionnels recommandent : Descriptif des conventions typographiques du code Visual Basic de Jean-Philippe AMBROSINO.

    Je n'ai pas de quoi tester (pour cela je demandais que tu affiches le SQL de ta requête actuelle), mais ton code devrait ressembler à ceci :
    (sans garantie, car je n'ai pas pu tester !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Client.[DATE CONTRAT], Client.NUMCONTRAT, Client.NUMCLIENT, Client.NOMPRENOMS, Client.ADRESSE, [CODE POSTAL].[CODE INSEE], Client.ORDRE, Client.STATUS, [CODE POSTAL].VILLE, Client.[TYPE DE RACCORDEMENT], Client.[STATUS DE RACCORDEMENT], Client.[TYPE DE DEGROUPAGE], Client.TECHNOLOGIE, Client.PROFIL
    FROM Client INNER JOIN [CODE POSTAL] ON Client.[CODE POSTAL] = [CODE POSTAL].[Code Postal]
    WHERE (((Client.[DATE CONTRAT])>=#" & Format(me.[DateDeb],"mm/dd/yyyy") & "# And (Client.[DATE CONTRAT])<=#" & format(me.[Datefin],"mm/dd/yyyy") & "#"));
    Dans le module d'un formulaire pour faire référence à celui-ci, écris « Me. » au lieu de qualifier Forms!...

    Et remarque aussi que dans ton formulaire la date est au format français il faut convertir au format américain et bien sûr délimiter en encadrant avec des croisillons « # ».

Discussions similaires

  1. Probleme avec une requete parametrée
    Par sadjia dans le forum WinDev
    Réponses: 1
    Dernier message: 26/07/2007, 18h13
  2. Probleme avec une requete de selection
    Par vaness59199 dans le forum ASP
    Réponses: 2
    Dernier message: 03/10/2005, 22h42
  3. [weblogic 8.1][JDBC] Probleme avec une requete
    Par Sniper37 dans le forum Weblogic
    Réponses: 3
    Dernier message: 08/04/2005, 11h11
  4. probleme avec une requete full text
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/03/2005, 17h20
  5. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28

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