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 :

passage variable dans un select


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Par défaut passage variable dans un select
    Bonjour,

    j'ai ça comme 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
    Private Sub fk_secact_code_AfterUpdate()
    Dim v_pk_secact As String
     
        v_pk_secact = fk_secact_code.Column(1)
    Texte96 = v_pk_secact
    Dim liste_secssact As DAO.Recordset
        Dim req As DAO.Database
        Set req = CurrentDb
        Set liste_secssact = req.OpenRecordset("SELECT libelle, pk_secssact  FROM t_ref_secssact WHERE fk_secact_code=" & v_pk_secact, dbOpenDynaset)
        fk_secssact_code = liste_secssact.Fields(0).Value
     
     
     
    End Sub
    dans Tesxe96 l'id de l'enregistrement s'affiche sans problème
    mais j'ai un message d'erreur au niveau de la requête SELECT

    trop peu de paramètre. 1 attendu

    le truc le plus bizarre est que ce code fonctionne sur une autre base...
    je ne comprend pas...

    Merci pour votre aide

    Access 2016

  2. #2
    Membre émérite Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 991
    Par défaut passage variable dans un select
    Bonjour,

    Tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set liste_secssact = req.OpenRecordset("SELECT libelle, pk_secssact  FROM t_ref_secssact WHERE fk_secact_code='" & v_pk_secact & "'", dbOpenDynaset)
    La variable issue de ta liste étant de type string.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Par défaut
    avec ce code j'ai une erreur de syntaxe...

    merci quand même

  4. #4
    Membre émérite Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 991
    Par défaut passage variable dans un select
    Laquelle?

    Si tu mets un point d'arrêt sur cette ligne peux-tu interroger cette variable dans la console?

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Bonjour,

    la bonne pratique est de passer par des paramètres plutôt que de construire des requêtes par concaténation :

    https://access.developpez.com/faq/?page=SQL#ReqParamVar
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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
    Membre émérite Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 991
    Par défaut passage variable dans un select
    Du coup si ton paramètre attendu est un entier long (ce qui serait plus logique), laisse ton select tel qu'il était et affecte à ta variable la colonne 1 de ta liste convertie en long (CLng).
    N'oublie pas de déclarer ta variable en long
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim v_pk_secact As Long

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

Discussions similaires

  1. bean:define pour passage variable dans function javascript
    Par fbuchwalder dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/11/2006, 18h36
  2. [PL/SQL] utilisation de variables dans un select?
    Par Dr Kraft dans le forum SQL
    Réponses: 8
    Dernier message: 11/10/2006, 10h17
  3. pb : VIEW avec variable dans le select
    Par seb.briet dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 13/05/2006, 01h57
  4. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54
  5. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

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