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

VBA Access Discussion :

problème de syntaxe insert into


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Par défaut problème de syntaxe insert into
    bonjour,
    je me retrouve devant un problème de syntaxe pour insert into:

    • TGraphiques!N°Graphique est un texte style "ASco25" et contient pour l'instant 900 lignes et est amené à grossir

    • TGraphiques!N°Version est pour l'instant vide et est un numérique standard 0 décimales mais peut devenir texte pour les besoin du code


    le but est d'écrire les 2 derniers digit de N°Graphique dans N°Version => 25

    j'ai testé ce code mais bloque sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim sql As String
    Dim rs As New ADODB.Recordset
     
    rs.Open "select  * from TGraphiques", CurrentProject.Connection
     
        Do While Not rs.EOF
            sql = "insert into rs!N°Version value(" & Right(rs!N°Graphique, 2) & ")"
            DoCmd.RunSQL sql
            rs.MoveNext
        Loop
    j'ai testé dans tout les sens avec plus ou moind de guillemets par rapport au numérique ou non ... sans succès


    merci de votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    En supposant que TGraphiques est une table et N°Version et N°Graphique sont des champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Currentdb.execute "Update TGraphiques set N°Graphique = right(N°Version , 2)", dbfailonerror
    Je vois pas trop l'intérêt de la chose, ça duplique l'information.

    Evite les espaces et les caractères-à-la-con dans les noms d'objets (champs, tables, variables, ...) si tu peux.
    [Access] Les bases du débogage => ici

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Par défaut
    merci mais problème qui vient peut-être du fait que ce code est lancé d'un bouton de commande d'un formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Commande12_Click()
     
    CurrentDb.Execute "Update TGraphiques set N°Graphique = right(N°Version , 2)", dbFailOnError
     
    End Sub
    retour dbFailOnError=128

    je suis d'accord pour la redondance d'information mais il s'agit là pour moi de tester le code qui permettra une fois le principe acquis de l'adapter à mes besoins

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    En français de chez nous, c'est quoi le message d'erreur ?
    Dans les références (dasn le code, menu Outils, références) , est-ce que tu as "Microsoft DAO ..." ?
    Si non, rajoute la.
    [Access] Les bases du débogage => ici

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Par défaut
    désolé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur d'éxécution 3058
    un index ou une clé principale ne peut contenir une valeur null
    hors le champ N°Version de la table TGraphiques n'est ni un index ni une clé principale

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Et N°Graphique ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Commande12_Click()
     
        CurrentDb.Execute "Update TGraphiques set [N°Graphique] = right([N°Version] , 2) where [N°Version] is not null", dbFailOnError
     
    End Sub
    [Access] Les bases du débogage => ici

  7. #7
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Commande12_Click()
     
    CurrentDb.Execute "Update TGraphiques set N°Graphique = right(N°Version , 2)", dbFailOnError
     
    End Sub
    était bon sur le principe
    le souci venait du fait que j'avais fait un simple copié collé de ton code sans vérifié mais tu avais inversé les champs hors c'est les 2 derniers digit de N°Graphique qui fallait déversé dans N°Version comme décrit dans mon 1er message et non l'inverse

    bon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "Update TGraphiques set N°Version = right(N°Graphique , 2)", dbFailOnError
    après rectification ça marche nickel

    merci
    bonne journée

  8. #8
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Désolé, au temps pour moi.
    [Access] Les bases du débogage => ici

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

Discussions similaires

  1. [AC-2007] Problème de syntaxe INSERT INTO avec champs booleéns
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/09/2009, 17h57
  2. Problème de requête insert into (syntaxe)
    Par Bizoo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/09/2008, 18h23
  3. Problème de syntaxe INSERT/UPDATE
    Par Alexwei dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/02/2007, 12h31
  4. Syntax INSERT INTO
    Par Muffyn dans le forum Access
    Réponses: 8
    Dernier message: 14/09/2006, 16h58
  5. SQL : syntaxe insert into select
    Par chrislauxerrois dans le forum Access
    Réponses: 15
    Dernier message: 31/07/2006, 17h12

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