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 :

Insertion d'une variable dans une requête [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 80
    Points : 48
    Points
    48
    Par défaut Insertion d'une variable dans une requête
    Je reviens vers vous pour avoir une petite information !
    j'ai eu recours à vos services pour intégrer une variable dans une requête
    et donc je sais faire,
    là, par contre, je voudrais juste intégrer une variable et malgré que ma requête soit bonne, cela ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    V_Sql = "INSERT INTO tbl_Clients([ac_date1]) "
    V_Sql = V_Sql & "SELECT tbl_Clients.ac_num, tbl_tbl_Clients_Select.select_num_client, tbl_tbl_Clients_Select.select_choix, " & date_commission & " as date_commission """
    V_Sql = V_Sql & "FROM tbl_tbl_Clients_Select, tbl_tbl_Clients"
    V_Sql = V_Sql & "GROUP BY tbl_tbl_Clients.ac_num, tbl_tbl_Clients_Select.select_num_accord, tbl_tbl_Clients_Select.select_choix"
    V_Sql = V_Sql & "HAVING (((tbl_tbl_Clients.ac_num)=[tbl_tbl_Clients_Select]![select_num_client]) AND ((tbl_tbl_Clients_Select.select_choix)=-1));"
    Base.Execute V_Sql
    c'est à dire après avoir comparer le champ de deux tables sur leur numéro et si le champ "choix" est coché, je veux intégrer une variable "date" dans le champ de la table principale tbl_Clients...
    il m'est dit que j'ai trop de données dans le "Select" par rapport au "Insert to",
    et si j'enlève les champs du Select pour avoir le même nombre de données dans les deux, la requête ne s’exécute plus car elle ne sait plus sur quelle table s'appuyer...

    Un grand merci pour vos éclairages...

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 693
    Points : 14 696
    Points
    14 696
    Par défaut
    Bonsoir,
    je n'ai pas tout compris : tu souhaite insérer une seule valeur de type date dans ta table ? Je pense que c'est plutôt une mise à jour de champ. Il ne faut donc pas que tu utilises l'instruction INSERT mais UPDATE.
    Essaie d'expliquer ce que tu souhaites.
    S'il s'agit d'une mise à jour d'un enregistrement particulier la syntaxe devrait ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    V_Sql = "UPDATE tbl_Clients SET [ac_date1] = " & date_commission
    V_Sql = V_Sql & " WHERE tbl_Clients.ac_num IN (SELECT [select_num_client] FROM tbl_tbl_Clients_Select WHERE tbl_tbl_Clients_Select.select_choix=-1);"
    Base.Execute V_Sql
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    Un grand merci pour ce coup de pouce,

    En effet, c'était une requête "mise à jour",
    par contre, est-ce qu'il existe une requête de retrait d'information,
    car l'utilisateur peut être amené à revenir en arrière et dé sélectionner
    le client et donc il me faut remettre le champ "date" à blanc par bouton ?

    J'ai cherché et réglé mon problème de format de date qui doit être au format
    Us et avec une syntaxe particulière pour avoir le bon résultat.
    après avoir mis à la date au format Us
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_US = Format(date_commission, "mm dd yyyy")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    V_Sql = "UPDATE tbl_Clients SET [ac_date1] = #" & date_US & "#"

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 693
    Points : 14 696
    Points
    14 696
    Par défaut
    Bonsoir,
    la requête pour mettre la date à blanc est quasiment la même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    V_Sql = "UPDATE tbl_Clients SET [ac_date1] = NULL WHERE ....;"
    Base.Execute V_Sql
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 80
    Points : 48
    Points
    48
    Par défaut


    Super, par une requête je suis aussi arrivée à supprimer la sélection, une fois le champ remis à NULL

    un grand merci !

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

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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