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

Access Discussion :

[VBA] Recordset / Parameters


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut [VBA] Recordset / Parameters
    Bonjour à tous,

    Voilà je voudrais utiliser les données issues d'une requête avec comme paramêtre une date que l'utilsateur saisi dans un formulaire.

    Voilà le code :

    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
    18
    19
    20
    Private Sub BT_GEN_CONSTAT_Click()
     
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
    Dim strLigneText As String
    Dim strConstante As String
    Dim strChemin As String
    Dim intFichier As Integer
    Dim db As DAO.Database
     
    intFichier = FreeFile()
        strChemin = "C:\TEST.txt"
        Open strChemin For Output As #intFichier
     
     
    Set db = CurrentDb()
    Set qdf = db.QueryDefs("R_PREPA_CONSTAT")
    qdf.Parameters("Formulaires!F_GEN_CONSTAT!DATE_CONSTAT") = Formulaires!F_GEN_CONSTAT![DATE_CONSTAT]
    Set rcs = qdf.OpenRecordset
    ...
    J'ai une erreur 424 qui retourne le message "objet requis" au niveau de la déclaration du paramètres.

    Ya t-il une erreur dans ma syntaxe ?

    Merci à vous...

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    dans le VBA il faut utiliser Forms au lieu de Formulaires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qdf.Parameters("Formulaires!F_GEN_CONSTAT!DATE_CONSTAT") = Forms!F_GEN_CONSTAT![DATE_CONSTAT]

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    J'ai toujours le même problème en utilisant "Forms" !

    Au niveau de la requête faut il précisé des paramètres dans "paramètres de la requête" ?

    Si oui, comment faire ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut Ajout balises code
    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
    18
    19
    20
    Private Sub BT_GEN_CONSTAT_Click()
     
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
    Dim strLigneText As String
    Dim strConstante As String
    Dim strChemin As String
    Dim intFichier As Integer
    Dim db As DAO.Database
     
    intFichier = FreeFile()
    strChemin = "C:\TEST.txt"
    Open strChemin For Output As #intFichier
     
     
    Set db = CurrentDb()
    Set qdf = db.QueryDefs("R_PREPA_CONSTAT")
    qdf.Parameters("Formulaires!F_GEN_CONSTAT!DATE_CONSTAT") = Formulaires!F_GEN_CONSTAT![DATE_CONSTAT]
    Set rcs = qdf.OpenRecordset
    ...
    J'ai résolu le problème sur la ligne de paramètre maintenant j'ai l'erreur "trop peu de paramètres sur la ligne du recordset !


  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Citation Envoyé par S-kAyN
    Au niveau de la requête faut il précisé des paramètres dans "paramètres de la requête" ?

    Si oui, comment faire ?
    Ce n'est pas obligatoire mais c'est mieux. Notamment parce que ça permet de "typer" le paramètre.

    Comment faire ? Ultra simple !
    Dans la colonne "Paramètre" tu saisis le nom du paramètre que tu souhaites utiliser ensuite dans ta requête (par ex. MonParamètre). Ce n'est pas utile de mettre, en guise de nom de paramètre, une expression basée sur un formulaire (comme ce que tu utilises).
    Dans la colonne "Type", tu choisis le type de données.
    Ensuite un coup de [OK].

    Puis, toujours dans ta requête affichée en mode création, tu utilises ton paramètre, par exemple pour un critère.

    MON CONSEIL: pense à encadrer le paramètre avec des crochets, comme ça Access s'y retrouvera (et puis même, cette syntaxe est obligatoire).

    Exemple de critère: [MonParamètre] > 10

    Maintenant ton code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set db = CurrentDb()
    Set qdf = db.QueryDefs("R_PREPA_CONSTAT")
    qdf.Parameters("MonParamètre") = Formulaires!F_GEN_CONSTAT![DATE_CONSTAT]
    Set rcs = qdf.OpenRecordset
    Alors, ça va mieux ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    j'ai changé la syntaxe, j'ai utilisé ça, ça marche depuis !

    qdf![[Formulaires]![F_GEN_CONSTAT]![DATE_BUTOIR]] = Me.DATE_BUTOIR.Value

    Merci à tous !

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/02/2007, 10h09
  2. [Vba,RecordSet,SQL]Moteur de recherche plus rapide?!
    Par omegabahamut dans le forum Access
    Réponses: 2
    Dernier message: 25/02/2007, 21h18
  3. [vba][Recordset]Extraction d'une mailing list
    Par Amariel dans le forum Access
    Réponses: 10
    Dernier message: 23/08/2006, 19h46
  4. [VBA] Recordset : trop d'éléments obtenus par Recordcount
    Par Nenette_cherie dans le forum Access
    Réponses: 15
    Dernier message: 11/05/2006, 11h33
  5. [VBA][recordset]pb update error 3061 too few parameters
    Par megapacman dans le forum Access
    Réponses: 2
    Dernier message: 23/03/2006, 16h11

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