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

Requêtes et SQL. Discussion :

Récupération résultats requête SQL dans VBA [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 28
    Points
    28
    Par défaut Récupération résultats requête SQL dans VBA
    Bonjour,

    Je cherche à récupérer une valeur dans une table par une requête SQL.
    Mais j'ai une erreur d'incompatibilité de type localisée sur "Modifiable64.Value=Csng(str)".
    Peut-être manque-t-il une instruction pour exécuter la requête ou le problème vient-il de la fonction pour transformer une chaîne de caractère en single ?

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Maj()
        Dim str As String
        Dim stn As Single
        Dim strMaj As String
        strMaj = Forms![Saisie nouveau dossier]![Garantie]
        MsgBox (strMaj)
        str = "SELECT [Garanties].[Statut] FROM [Garanties] WHERE [Garanties].[ID Garantie]='" & strMaj & "'"
        str = str & ";"
        MsgBox (str)
        Modifiable64.Value = CSng(str)
    End Sub
    A l'aide !

    Merci
    rberniga

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    salut,
    un peu de lecture sur la manipulation de données
    http://warin.developpez.com/access/dao/
    et notamment la partie 5 du cours : http://warin.developpez.com/access/dao/?page=partie_5
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 28
    Points
    28
    Par défaut
    Si je mets directement une valeur numérique pour Modif.Value çà fonctionne très bien..

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 28
    Points
    28
    Par défaut
    J'ai malheureusement peu de temps et beaucoup de manque dans ce domaine ..
    Quelqu'un pourrait'il m'aider directement au niveau de mon code svp ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    On a pour habitude d'apprendre à pêcher aux membres, pas de pêcher pour eux

    remplace ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    str = "SELECT [Garanties].[Statut] FROM [Garanties] WHERE [Garanties].[ID Garantie]='" & strMaj & "'"
        str = str & ";"
        MsgBox (str)
        Modifiable64.Value = CSng(str)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Modifiable64.Value = CSng(dlookup("Statut","Garanties","[ID Garantie]='" & strMaj & "'"))
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 28
    Points
    28
    Par défaut
    Mais c'est tout à fait normal et c'est ce que j'essaye de faire le plus souvent possible ..

    Alors message d'erreur '3464' :
    Type de données incompatibles dans l'expression du critère.
    Localisé sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        Modifiable64.Value = CSng(DLookup("Statut", "Garanties", "[ID Garantie]='" & strMaj & "'"))
    Code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Maj()
        Dim str As String
        Dim stn As Single
        Dim strMaj As String
        strMaj = Forms![Saisie nouveau dossier]![Garantie]
        MsgBox (strMaj)
        Modifiable64.Value = CSng(DLookup("Statut", "Garanties", "[ID Garantie]='" & strMaj & "'"))
    End Sub
    Merci

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    - ton champ statut contient quel type de données ?
    - même question pour ton champ ID Garantie ?

    s'il s'agit de valeur numérique, les apostrophes sont inutiles.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 28
    Points
    28
    Par défaut
    Les deux sont effectivement des champs numériques.
    J'ai enlevé les apostrophes et c'est tout bon !
    Merci beaucoup jpcheck !!

    Promis je regarderais le cours que tu m'as indiqué dès que possible

    rberniga

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

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. Réponses: 2
    Dernier message: 14/03/2008, 17h02
  3. Réponses: 13
    Dernier message: 28/09/2007, 11h55
  4. Problème avec requête SQL dans VBA
    Par Mimisio dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/07/2007, 11h00
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29

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