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 :

Problème avec un Insert


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé Avatar de Arola78
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2003
    Messages : 133
    Par défaut Problème avec un Insert
    Bonsoir,
    Mon problème est le suivant :
    j'ai un RecordSet qui me dit quels sont les valeurs à ré-actualiser (c.à.d. dont la dernière ré-actualisation est > 1 an). Pour ces valeurs j'inscris dans une table Log leurs caractéristiques. Cela donne le 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
     
    SQLup = "INSERT INTO Log ( Num, Jour, Heure, Auteur, [Action], Compteur, Libellé, Impact, Type ) "
    SQLup = SQLup & "VALUES (time()*1, Date(), time(), '1E-Ecran Présentation', 'Ré-évaluation', 1, "
    SQLup = SQLup & "Comments, 'Valeurs', 'LOG');"
     
     
        SQL = "SELECT ucase(Index) as Indx, Titre, (Estimation + (Estimation * 3/100)) as NewVal  FROM Valeurs WHERE (date() - DateEstimation) > 365 ;"
        Set Curseur = CurrentDb.OpenRecordset(SQL)
     
        While Not Curseur.EOF
            Comments = Curseur.Fields("Indx").Value & " " & Curseur.Fields("Titre").Value & " estimé(e) à " & Curseur.Fields("NewVal").Value & " €"
            MsgBox "A ré-évaluer : " & Comments, vbInformation, "ScripoGest"
            DoCmd.RunSQL (SQLup)
            Curseur.MoveNext
            Nb = Nb + 1
        Wend
    Quand j'éxécute ce code j'ai une invite qui me demande d'entrer une valeur pour la variable Comments. Je ne comprends pas car dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            MsgBox "A ré-évaluer : " & Comments, vbInformation, "ScripoGest"
    la variable Comments est bien renseignée, j'ai l'impression que c'est SQL qui la connait pas.
    Quelqu'un peu-il me donner une explication et une solution ?
    Par avance merci.

  2. #2
    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,
    Comments n'est pas une variable connue en tant que telle par ton SQL. De plus, ton code ne se déroule pas dans le bon ordre on dira

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL = "SELECT ucase(Index) as Indx, Titre, (Estimation + (Estimation * 3/100)) as NewVal  FROM Valeurs WHERE (date() - DateEstimation) > 365 ;"
        Set Curseur = CurrentDb.OpenRecordset(SQL)
     
        While Not Curseur.EOF
            Comments = Curseur.Fields("Indx").Value & " " & Curseur.Fields("Titre").Value & " estimé(e) à " & Curseur.Fields("NewVal").Value & " €"
            MsgBox "A ré-évaluer : " & Comments, vbInformation, "ScripoGest"
            SQLup = "INSERT INTO Log ( Num, Jour, Heure, Auteur, [Action], Compteur, Libellé, Impact, Type ) "
            SQLup = SQLup & "VALUES (time()*1, Date(), time(), '1E-Ecran Présentation', 'Ré-évaluation', 1, "
            SQLup = SQLup & "'" & Comments &"', 'Valeurs', 'LOG');"
            DoCmd.RunSQL (SQLup)
            Curseur.MoveNext
            Nb = Nb + 1
        Wend
    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

  3. #3
    Membre confirmé Avatar de Arola78
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2003
    Messages : 133
    Par défaut
    OK ça a l'air de fonctionner

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

Discussions similaires

  1. Problème avec un INSERT
    Par nnj dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/08/2006, 15h51
  2. Problème avec l'insertion d'une image dans JPanel
    Par anutka dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/03/2006, 10h02
  3. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27
  4. [DREAM MX] Problème avec une insertion d'une anim' flash
    Par Mout85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/09/2005, 12h47
  5. [MFC] problème avec les insertions dans CComboBox
    Par Joeleclems dans le forum MFC
    Réponses: 12
    Dernier message: 11/06/2004, 15h31

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