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][Debutant] passage de parametre et recordset


Sujet :

Access

  1. #1
    Membre du Club Avatar de ip203
    Inscrit en
    Mars 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 132
    Points : 59
    Points
    59
    Par défaut [Résolu][VBA][Debutant] passage de parametre et recordset
    Bonjour,

    J'ai une fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub EcrireValeur(strInsert As String, strChamp As String)
      Dim db As Database: Set db = CurrentDb
      Dim monRecordset: Set monRecordset = db.OpenRecordset("Foyers")
      Dim strTemp As String
     
      monRecordset.Edit
      monRecordset![strChamp] = strInsert
      monRecordset.Update
      monRecordset.Close: Set monRecordset = Nothing
      db.Close: Set db = Nothing
    End Sub
    J'ai une erreur 3265 sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monRecordset![strChamp] = strInsert
    Car strChamp n'est pas vu comme une variable contenant une chaine de caractère (le nomde mon champ) mais comme son propre nom.

    Je pense qu'il doit s'agir d'une erreur de synthaxe, mais en regardant dans la FAQ ou le Forum je m'apercoit que dans ce type de code les gens passe directement la chaine sans passer par une variable...ou alors j'ai bien mal cherché.

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Déjà déclare bien ton recordset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim monRecordset as DAO.Recordset
    De plus tu fais une méthode Edit, il faut savoir sur quel critére, ton critère est ta table, mais il faut que tu mettes une chaine sql avec une clause WHERE

    Starec

  3. #3
    Membre du Club Avatar de ip203
    Inscrit en
    Mars 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Salut et merci de ta réponse,

    En fait il faudrait que je fasse une requète avec l'identifiant de l'enregistrement pour être sûr d'être sur la bonne ligne. Mais le problème reste le même en ce qui concerne la valeur passée dans la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monRecordset![strTemp] = strInsert
    strTemp est vu en dehors des crochets comme étant une chaine de caractère contenant la bonne valeur et lorsque je le mets entre crochet sur mon recordset il est vu comme lui-même c'est à dire sa référence.

    Pourrais tu si tu as le temps et la patiente m'éguiller pour le requête ??

    Merci

  4. #4
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Salut,

    Regarde du côté de la fonction eval.

  5. #5
    Membre du Club Avatar de ip203
    Inscrit en
    Mars 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Merci,

    Mais la fonction Eval me renvoie une erreur et quand je regarde dans l'aide, c'est effectivementle cas quand :
    Si vous passez à la fonction Eval une chaîne contenant du simple texte et non une expression numérique ou un nom de fonction, une erreur d'exécution se produit. Par exemple, Eval("Smith") provoque une erreur.
    Donc j'en suis toujours au même point

    Merci quand même !

  6. #6
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Utilise la syntaxe suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monRecordset(strChamp) = strInsert

  7. #7
    Membre du Club Avatar de ip203
    Inscrit en
    Mars 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Ca marche !!!

    Grand merci

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

Discussions similaires

  1. [debutant] passage de parametres entre pages flex
    Par rvfranck dans le forum Flex
    Réponses: 1
    Dernier message: 10/12/2009, 09h17
  2. [Debutant] passage de parametres
    Par infofree dans le forum JSF
    Réponses: 3
    Dernier message: 21/05/2008, 22h36
  3. passage de parametre sous VBA excel
    Par raka200 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/12/2007, 11h07
  4. [VBA-E]passage de parametre à une fonction
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/02/2006, 17h51
  5. [Applet][JSP][debutant] Passage de parametre
    Par VinceFromBcn dans le forum Applets
    Réponses: 3
    Dernier message: 28/06/2004, 23h23

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