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 :

Requete via code VBA ne fonctionne pas [AC-2010]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut Requete via code VBA ne fonctionne pas
    Bonjour à tous!

    Je fais face à un problème complètement incompréhensible et je sais vraiment plus quoi faire.

    Dans mon code, j'exécute une requête SQL sous la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim rRechercheDonnees As ADODB.Recordset
    Set rRechercheDonnees = New ADODB.Recordset
    With rRechercheDonnees
        .ActiveConnection = conn
        .Open "SELECT id FROM Periode WHERE date_debut LIKE '*" & iAnneeActuelle & "' AND periode_annuelle = True"
    End With
    Qui se traduit, lors de la compilation en ça : "SELECT id FROM Periode WHERE date_debut LIKE '*2013' AND periode_annuelle = True"

    Malheureusement, quand je vais chercher le résultat lors du débogage, sous rRechercheDonnees/Fields/Item1/Value j'y trouve le texte suivant : <BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel

    Je me suis donc dis que ma requête devait être fausse et j'ai créé une requête sur ACCESS en y introduisant le code SQL pour vérifier où se trouvait l'erreur et miracle! La requête me ressort l'id recherché!

    J'ai ensuite essayé de remplacer ma requête SQL par quelque chose d'autre ressortant assurément des résultats et ça a marché donc le problème n'a pas l'air de venir du code non plus..

    Si quelqu'un à une idée elle est plus que le bienvenu! ^^'

    Merci d'avance pour les réponses!

    Jurta

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Ta valeur iAnneeActuelle est de type numérique ou de type texte ?

    Si elle est numérique,e ssais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT id FROM Periode WHERE date_debut LIKE *" & iAnneeActuelle & "* AND periode_annuelle = True"
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  3. #3
    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 : 40
    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
    Essayez en remplaçant le joker * par %

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut
    Bonjour!

    iAnneeActuelle est en effet de type Integer mais le fait d'enlever les guillemets engendre des erreurs..

    Par contre c'est vrai qu'en SQL le joker pour "N'importe quelle chaîne de caractères" est le %. J'ai essayé de le remplacer et en effet ça marche! (malgré le fait que la requête ACCESS en mode d'affichage "SQL" continue à afficher le * tout en fonctionnant)

    Donc conclusion de ce topic:
    Ne vous fiez pas à ce qu'affiche ACCESS, de petites modifications automatiques sont sûrement effectuées dans le code SQL lors de la compilation


    Merci pour vos réponses et à bientôt!

    Jurta

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

Discussions similaires

  1. [XL-2007] Code VBA qui fonctionne sous XL 2007 mais ne fonctionne pas sous ACCESS 2003.
    Par casdidier dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/09/2014, 00h43
  2. [Toutes versions] Code vba ne fonctionne pas pour sous formulaire
    Par 8e8eClo dans le forum IHM
    Réponses: 5
    Dernier message: 23/03/2012, 09h32
  3. code vba ne fonctionne pas
    Par lecaire dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/01/2010, 22h27
  4. Mes codes VBA ne fonctionnent pas sous access 2007
    Par ralfus dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/11/2008, 11h36
  5. Réponses: 10
    Dernier message: 30/03/2007, 17h30

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