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 :

[access 2003] Problème de recordset sur un état


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut [access 2003] Problème de recordset sur un état
    Bonjour à tous,
    j'ai un petit soucis au sujet de la génération d'un état : le principe est simple je m'occupe d'un base de donnée de formation qui gère en autre les stages des salariés. Un état est généré, grâce à une requête sql (recordset), ou l'on trouve la liste des stagiaires, matricule, nom, prénom, etc.

    Je voudrais calculer un taux de participation, qui doit apparaître sur mon état :

    Voila la formule je ne m'abuse ..

    nbParticipants
    __________ x 100
    Nb Inscrits

    je gere ceci dans du code, grace à des requêtes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = CurrentDb.OpenRecordset("select NomSal from RQ_EtatTaux where LibSoc='" & Me.NomSoc & "' and NumStag=" & Me.NumStag & "")
    Voici ma requete ou me.NomSoc et me.NumStag sont des zones de texte de l'état ... Elle me permet de récupéré le nombre de salarié inscrit par société par stage

    l'erreur est la suivante :
    erreur d'exécution 2127, expression sans paramètre...

    Quelqu'un pourrait-il m'aider ????

    merciiiii
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Points : 261
    Points
    261
    Par défaut
    Essaie .... sans les 3 derniers caractères ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set rst = CurrentDb.OpenRecordset("select NomSal from RQ_EtatTaux where LibSoc='" & Me.NomSoc & "' and NumStag=" & Me.NumStag )

  3. #3
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Non la même chose... Je me pencherait pour un problème de cote...Je sais pas trop si cela change au niveau d'un état....
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Points : 261
    Points
    261
    Par défaut
    Si le champ est de type Texte, les quotes sont obligatoires ...
    Si le champ est de type Numérique, pas de quotes ....

    Par contre, en VBA, si la valeur numérique est de type Double, il faut s'assurer que le séparateur de décimale de la valeur passé en paramètre (par un contrôle ou une variable) soit un "." et non une "," .....

  5. #5
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Nan mais en fait j'arrive même pas à récuperer la valeur des zones de texte....
    Il me met la même erreur, j'ai mis public sub a la place de private sub, j'ai utiliser la fonction Nz, mais rien a faire, il m'a bloqué mon contrôle, peut être qu'il s'agit d'une erreur d'évènement, quand il charge les données...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  6. #6
    Membre expérimenté

    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
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Milyshyn76 Voir le message
    Nan mais en fait j'arrive même pas à récuperer la valeur des zones de texte....
    Est ce que le code en question est lancé à partir du formulaire qui contient les zones de textes?
    Amicalement

  7. #7
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Coucou, non non non il n'y a aucun formulaire lié a cet état, il est créer à partir d'une requete, je veux mettre automatiquement des valeurs à son ouverture, mais en fait il s'agit d'un problème de champs, quand je veux mettre une simple valeur à un des ces champs, il me dit qu'il est impossible d'attribuer une valeur à ce champs... c'est normal puisqu'il est rattaché à une champ de la requête mais quand je veux le nommé dans une requete sql, il ne le trouve pas ...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  8. #8
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    J'avoue ne pas comprendre.

    Apparament tu execute ce bout de code dans l'évenement d'ouverture de ton état. Cependant, et viennent d'où?

    Si ils ne sont pas sur ton état ça ne risque pas de fonctionner car le mot cléf "Me" fait référence à l'objet en cour : ici ton état.
    Rien n'est rien!!! ... Tout est quelque chose!!!

    Petits liens utiles :
    -Chaine de connexion : http://www.connectionstrings.com/
    -ADO et ADO.net : Tuto ADO et ADO.net

  9. #9
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Me.NomSoc et Me.NumStag sont des zones de texte de l'état elles sont automatiquement remplie à l'ouverture...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  10. #10
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    A ce moment là pourquoi ne pas utiliser ce qui les remplis pour concaténer ta requete Sql?

    A mon avis, le problème vien du fait que ton état n'est pas encore construit est donc que le programme n'arrive pas à accéder à tes deux champs text.

    Enfin je me trompe peut-être...corrigez moi si nécessaire
    Rien n'est rien!!! ... Tout est quelque chose!!!

    Petits liens utiles :
    -Chaine de connexion : http://www.connectionstrings.com/
    -ADO et ADO.net : Tuto ADO et ADO.net

  11. #11
    Membre expérimenté

    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
    Points : 1 579
    Points
    1 579
    Par défaut
    Sur quel évenement execute tu ton code?

    Je crois que si tu veux récupere des valeurs de certains champs de ton état l'événement qui correspond le mieux c'est => sur formatage
    Amicalement

  12. #12
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    je l'execute sur report_activate()L'activation quoi? mais sur ouverture, cela me génére la même erreur....
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  13. #13
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par tribaleur Voir le message
    A ce moment là pourquoi ne pas utiliser ce qui les remplis pour concaténer ta requete Sql?

    A mon avis, le problème vien du fait que ton état n'est pas encore construit est donc que le programme n'arrive pas à accéder à tes deux champs text.

    Enfin je me trompe peut-être...corrigez moi si nécessaire
    Ben je le fait en même temps que ça construction donc logiquement il devrait me retourner une valeur...???? Je suis perdue...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  14. #14
    Membre expérimenté

    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
    Points : 1 579
    Points
    1 579
    Par défaut
    exécute le ici Détail_Format()
    Amicalement

  15. #15
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    A tu essaier de faire un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Me.NomSoc &" / "& Me.NumStag
    Ceci te permetra de savoir si tu arrive à récupérer les valeur de tes champs text.

    Peu tu mettre le code qui affect une valeur à tes champs text s'il te plait?

    Peut-être que l'erreur viens de là et que du coup ta requete est fausse.

    Si jamais essaie aussi d'afficher ta requete dans un MsgBox pour voir la valeur final qu'elle a.
    Rien n'est rien!!! ... Tout est quelque chose!!!

    Petits liens utiles :
    -Chaine de connexion : http://www.connectionstrings.com/
    -ADO et ADO.net : Tuto ADO et ADO.net

  16. #16
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Toujours la même chose, expression sans paramètre ... Impossible d'attribué une valeur à cet objet.
    C'est le contrôle qui est bloqué, à la base, il était nommé pour ma requête mais même le msgbox ne le reconnait pas ! Bizard tout de même
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  17. #17
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    De quelle manière lui affecte tu une valeur?
    Rien n'est rien!!! ... Tout est quelque chose!!!

    Petits liens utiles :
    -Chaine de connexion : http://www.connectionstrings.com/
    -ADO et ADO.net : Tuto ADO et ADO.net

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    As-tu essayé d'ajouter le caractère de fin d'instruction SQL (point-virgule) comme suit ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = CurrentDb.OpenRecordset("select NomSal from RQ_EtatTaux where LibSoc='" & Me.NomSoc & "' and NumStag=" & Me.NumStag & ";")
    Et pour vérifier que ta concaténation fonctionne bien, pourquoi ne pas passer par une variable texte que tu peux tester par un espion ou la fenêtre d'exécution ? Autant commencer par vérifier ça.

  19. #19
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Non ça me fait toujours la même chose, il ne veux pas reconnaitre mon champs, l'instruction sql est correct, c'est juste les champs NomSoc et NumStag qu'il ne veut pas reconnaitre, j'essaie pourtant de récuperer la valeur en utilisant msgbox, mais il me dit toujours la même erreur : expression sans paramètre ...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Juste par acquis de conscience, est-ce que le nom de ton contrôle dans ton formulaire est différent du celui de ton champ de table ?

    Il faut faire référence au contrôle.
    Si les deux noms sont identiques, il se peut qu'access se mélangent les crayons et ne sache quoi prendre comme info.

Discussions similaires

  1. [Access 2003]Problème de requete
    Par steeves5 dans le forum Access
    Réponses: 4
    Dernier message: 30/05/2006, 16h48
  2. Réponses: 4
    Dernier message: 29/05/2006, 17h15
  3. [Access 2003]Problème de requête?
    Par steeves5 dans le forum Access
    Réponses: 4
    Dernier message: 22/05/2006, 13h42
  4. Réponses: 3
    Dernier message: 20/05/2006, 00h28
  5. [Access 2003] - Problème date dans requête
    Par Leesox dans le forum Access
    Réponses: 11
    Dernier message: 14/10/2005, 08h51

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