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 :

Comment afficher le resultat d'un recordSet [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 57
    Points : 20
    Points
    20
    Par défaut Comment afficher le resultat d'un recordSet
    Bonjour je doit faire un petit programme en vba en utlisant des tables de ma base de donnée Access. Je voudrait savoir comment afficher le resultat d'un RecordSet mais il y a un erreur qui me dit Aucun enregistrement en cour !!!

    voila mon 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
    Dim base As DAO.Database
    Dim espèce As String
    Dim resultat As DAO.Recordset
    Dim res As String
    Set base = CurrentDb()
    Set resultat = base.OpenRecordset("SELECT [tab especes complète].[nomVernaculaire] FROM [tab especes complète] WHERE ((([tab especes complète].code)=espèce));")
     
    resultat.MoveFirst
    While Not resultat.EOF
    With resultat
    res = !nomVernaculaire
    MsgBox res
    End With
    resultat.MoveNext
     
    Wend
     
    resultat.Close

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Le movefirst est inutile.

    Mais attention, espèce est une variable, elle doit donc être exclue de la chaine SQL. De plus c'est une variable vide

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 57
    Points : 20
    Points
    20
    Par défaut
    espèce a bien une valeur mais je n'est pas mis tous mon code espèce prend la valeur d'un InputBox.

    le problème c'est donc la variable située dans la requête ? comment faire pour que cette valeur change en fonction de la variable espèce dans ce cas la ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il faut sortir ta variable de ta ligne

    Essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set resultat = base.OpenRecordset("SELECT [tab especes complète].[nomVernaculaire] FROM [tab especes complète] WHERE ((([tab especes complète].code)='" & espèce & "'));")
    Un conseil, évite les accents dans le code VB.

    Edit : j'avais pas vu que Tofalu t'avait donné des indications, pardon chef

    Philippe

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Le champ code est numérique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set resultat = base.OpenRecordset("SELECT [tab especes complète].[nomVernaculaire] FROM [tab especes complète] WHERE [tab especes complète].code=" & espece)

    Le champ code est du texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set resultat = base.OpenRecordset("SELECT [tab especes complète].[nomVernaculaire] FROM [tab especes complète] WHERE [tab especes complète].code=" & chr(34) & espece & chr(34) )
    Edit : grillé

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 57
    Points : 20
    Points
    20
    Par défaut
    le problème c'est que l'enregistrement n'est pas reconnue
    voici mon code remodifié :


    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
     
     Set resultat = base.OpenRecordset("SELECT [nomVernaculaire] FROM [tab especes complète]  WHERE code ='& chr(34) & espece & chr(34)';")
     
     
      With resultat
            If .RecordCount > 0 Then
                .MoveFirst
                While Not .EOF
                    'res = !nomVernaculaire  pas sûr que autorisé
                    res = .Fields("nomVernaculaire")  ' est plus standard
                    MsgBox res
                    .MoveNext
                Wend
            Else
                MsgBox "Pas d'enregistrement trouvé"
            End If
        End With

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Oui, mais tu n'as pas recopié la même chose que les messages que l'on t'a donné. Pour preuve : la coloration syntaxique qui diffère ...

    Donc forcément, ça ne peut pas fonctionner

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 57
    Points : 20
    Points
    20
    Par défaut
    désolé je n'avais pas vu j'ai ajouté des modification a ce que tu m'a donné et ca fonctionne merci beaucoup

    voila la requete correcte pour ceux qui en aurait besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [tab especes complète].[nomVernaculaire] 
    FROM [tab especes complète] 
    WHERE [tab especes complète].code='" & espece & "';

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2007, 12h16
  2. Réponses: 3
    Dernier message: 31/08/2006, 16h11
  3. Réponses: 6
    Dernier message: 31/07/2006, 10h18
  4. [MySQL] Comment afficher le resultat d 1 requete à 1DB ds 1 tableau
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/10/2005, 12h03
  5. Comment afficher le resultat d'une requete?
    Par Looping94510 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 11/02/2005, 08h42

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