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 :

Problemes avec ADO dans VBA


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Problemes avec ADO dans VBA
    Bonjour, j'ai une table table T_Colaboradores (avec les champs USER, NOM) et un formulaire F_log (avec le champ USER). Quand l'utilisateur click sur le button OK de F_log, je voudrais chercher la valeur NOM dans la table T_Colaboradores et l'utiliser dans une variable X. Le code que j'ai essayé est le suivant, et tous les variables sont string:

    Dim ss As ADODB.Recordset
    Dim x As String

    Set ss = New ADODB.Recordset
    ss.ActiveConnection = CurrentProject.Connection
    ss.Source = "SELECT * FROM [T_Colaboradores] WHERE [USER] = 'Forms!F_log!USER'"
    ss.CursorType = adOpenDynamic
    ss.LockType = adLockOptimistic
    ss.Open


    MESSAGE D'ERROR:BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé

    ss.MoveFirst
    X = (ss![NOM])


    Merci pour l'aide

  2. #2
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Je pense que ton record set doit être vide, BOF et EOF sont des Flag qui indique tu as avant le premier enregistrement ou après le dernier. Vérifie que ta requête retourne bien des enregistrement. Je pense que c'est ta condition "Where" qui ne fonctionnement pas.

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Allez !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ss.Source = "SELECT * FROM [T_Colaboradores] WHERE [USER] = '" & Forms!F_log!USER & "'"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup, ça marche!

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Citation Envoyé par MuadDib_II Voir le message
    Merci beaucoup, ça marche!
    Un petit RESOLU alors ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Une dernier question: Je voudrais utiliser cette variable X dans un autre formulaire, F_renov.

    J'ai declaré la variable x dans le secteur de declaration du module F_log (public x as string), mais quand j'écris, par exemple msgbox(x) dans un autre module, ou dans une macro, il donne un error comme " l'objet ne contient pas d'objet d'automatisation 'x' ".

    Vous avez quelque sugestion?

    Merci

  7. #7
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Y'm'semble qu'il faut qu'une variable public, si tu veux la voir dans toute l'appli doit être déclarée dans un module et non pas dans le code du formulaire.
    [Access] Les bases du débogage => ici

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Vous dîtes dans une autre module, créé seule pour cette variable?
    Je la declarée dans la Form_F_log, session (Général)/ (Déclarations)

    au cas où je le fait dans une nouveau module, comment la chercher après?

  9. #9
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Dans un module (pas le module rattaché à un formulaire), il suffit de déclarer la variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public MaVariable as String
    elle sera alors visible de partout dans l'application
    [Access] Les bases du débogage => ici

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    J'ai créé le module M_Geral et j'ai fait les declarations:
    public x as string
    public y as integer

    dans le formulaire F_log :
    x = Forms!F_log!USER
    y= Forms!F_log!AG

    si je fais un msgbox(x & y) dans la form F_log, tout se passe bien, mais si après,
    sur un autre formulaire, si j'appele une macro e dans la macro j'utilise l'option "ExécuterCode"/ msgbox(x & y), l'error continue à se produire, pour quoi?

    le code dans la form F_log:
    Dim ss As ADODB.Recordset

    Set ss = New ADODB.Recordset
    ss.ActiveConnection = CurrentProject.Connection
    ss.Source = "SELECT * FROM [T_Colaboradores] WHERE [USER] = '" & Forms!F_log!USER & "'"
    ss.CursorType = adOpenDynamic
    ss.LockType = adLockOptimistic
    ss.Open

    ss.MoveFirst
    x = (ss![NOM_LONG])
    y = Forms!F_log!AG

    Dim rs As ADODB.Recordset

    Set rs = New ADODB.Recordset
    rs.Open "T_logs", CurrentProject.Connection, _
    adOpenDynamic, adLockOptimistic
    With rs

    .AddNew

    ![AG] = y
    ![USER] = Forms!F_log!USER.Value
    ![TIME] = Now

    .Update
    End With


    DoCmd.Close
    stDocName = "M_F_inicio"
    DoCmd.RunMacro stDocName



    Merci

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

Discussions similaires

  1. Probleme avec Checkboxen dans EXcel VBA
    Par mimane_01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/05/2007, 15h02
  2. [ADO.NET] Problème avec Insert dans base de données
    Par mpascolo dans le forum Accès aux données
    Réponses: 9
    Dernier message: 24/01/2005, 09h36
  3. problem avec ado
    Par denza1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/09/2004, 16h32
  4. [langage] Probleme avec caractère '$' dans script Perl
    Par zouetchou dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2004, 15h35
  5. probleme avec ADO
    Par k_boy dans le forum Bases de données
    Réponses: 5
    Dernier message: 24/02/2004, 13h07

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