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 :

Les paramètres de OpenRecordset


Sujet :

Access

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut Les paramètres de OpenRecordset
    Pourquoi OpenRecordset dans ce code demande 3 paramètres alors que seul le premier est obligatoire ?
    Merci de votre attention.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Dim strSQL As String
        Dim rst As DAO.Recordset
     
        lngNoAuto = InputBox("À partir de quel numéro de facture?", "NUMÉRO DE COMMANDE")
     
        strSQL = "select * from reqFactures where réfcommande =lngnoauto;"
     
        Set db = CurrentDb
        Set rst = db.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)
        adMail = rst.Fields("courriel").Value
        rst.Close

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 021
    Par défaut
    bonsoir,
    je ne comprend pas ton problème : as-tu un message d'erreur en mettant que le premier paramètre ?

    [EDIT]
    en fait ton problème vient plutôt de là: une variable VBA n'est pas reconnu dans l'environnement SQL, il faut la mettre hors des guillemets de l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "select * from reqFactures where réfcommande =" & lngNoAuto  & ";"

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    Merci pour votre réponse.
    J'ai fait la modification suggérée mais j'ai toujours le même message d'erreur :Too few parameters, Expected 1

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    J'ai oublié de mentionner que le message d'erreur s'affiche lors de l'exécution de la ligne

    Set rst = db.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    Je ne comprends toujours pas pourquoi mais j'ai trouvé , et cela fontionne merci

    strSQL = "select * from reqFactures where réfcommande ='" & lngNoAuto & "'"

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 021
    Par défaut
    Je ne comprends toujours pas pourquoi mais j'ai trouvé , et cela fontionne merci
    Ok, la variable lngNoAuto est de type texte il faut l'entourer d'apostrophes... mais d'après son nom, j'en avais déduit qu'elle était de type numérique ...

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    non, ma variable est vraiment de type numérique long.

  8. #8
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    En fait, j'ai fait erreur en disant que cela fonctionnait en ajoutant des ' ; voici le code complet de ma procédure et le message d'erreur
    provient à l'exécution de la ligne Set rst = db.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub cmdGDF_click()
        Dim NomPre As String
        Dim IdClient As String
        Dim NomFacture As String ' Nom de la facture qui stocké dans le fichier LesFactures
        Dim adMail As String    '  Adresse courriel du client
        Dim CheFich As String   '  Chemin du fichier LesFactures
        Dim db As DAO.Database
        Dim lngNoAuto As Long
        Dim strSQL As String
        Dim rst As DAO.Recordset
        lngNoAuto = 113746
     
        strSQL = "select * from reqFactures where réfcommande =" & lngNoAuto & ";"
        Set db = CurrentDb
     
        Set rst = db.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)
     
        adMail = rst.Fields("courriel").Value
        rst.Close
        CheFich = Application.CurrentProject.Path
        CheFich = CheFich + "\LesFactures\"
        ' Vérifie si le fichier LesRoutes existe dans le même répertoire que la BD
        ' et s'il n'existe pas, le créer
        If Dir(CheFich, vbDirectory) = "" Then
           MkDir (CheFich)
        End If
     
    End Sub

  9. #9
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 021
    Par défaut
    bonsoir,
    et si tu mettais tout simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = db.OpenRecordset(strSQL)

  10. #10
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 021
    Par défaut
    sinon, le paramètre demandé dans le message d'erreur:
    J'ai fait la modification suggérée mais j'ai toujours le même message d'erreur :Too few parameters, Expected 1
    peut-il provenir de la requête utilisée, c'est à dire : reqFactures ?

  11. #11
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    Oui, le problème provenait bien de ma requête.
    Merci beaucoup pour votre aide.

Discussions similaires

  1. Les meilleurs cours et tutoriels C++
    Par Community Management dans le forum C++
    Réponses: 1
    Dernier message: 13/05/2015, 13h50
  2. Obligatoire : lisez les règles du forum : MAJ 06/08/2010
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 03/07/2008, 13h46
  3. Réponses: 5
    Dernier message: 20/08/2002, 18h01
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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