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

IHM Discussion :

Erreur de compilation et de syntaxe


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut Erreur de compilation et de syntaxe
    Bonjour

    et bonnes vacances pour les aoûtiens =)

    Je requière votre aide car je tourne depuis quelques jours dessus et je ne trouve pas de solutions.

    En faite, je sélectionne une ligne de ma zone de liste (Liste62) et sur un bouton (Commande 68) au click, j'aimerai faire un
    ajout de cet enregistrement dans une table d'archive que j 'ai crée, puis effectue un update et supprime l'enregistrement dans la table d'origine.
    J'ai testé la requête delete qui fonctionne par contre ça ne fonctionne pas sur les 2 premières requêtes (insert et update)

    1.J'ai une "erreur de compilation: Sub ou Function non définie" sur la requête insert into
    2.J'ai aussi une "erreur de syntaxe dans l'instruction UPDATE" sur la requête Update

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Private Sub Commande68_Click()
    On Error GoTo Err_Commande68_Click
        Dim Requete As String
        Dim Dtbase As DAO.Database
        Set Dtbase = CurrentDb()
        If IsNull(Liste62.Column(0)) Then
            MsgBox ("Aucune ligne n'a été sélectionnée")
        Else
        'ajout de la sélection dans la table archivage
        Requete = (" INSERT INTO Archivage " _
        & "([Libellé Projet], [Date de clôture])" _
        & " SELECT Projets.[Libellé Projet]," _
        & " Opérations.[Date de clôture]" _
        & " FROM Opérations INNER JOIN Projets ON Opérations.Projet = Projet.Clé;")
        WHERE clé = " & Liste62.Column(0) & """
        Dtbase.Execute (Requete)
        'maj/calcul du Montant réajustement
        Requete = " UPDATE Dossiers SET (Dossiers.[Montant enveloppe] - [Echéancier opérations].Montant) Where Clé = " & Liste62.Column(0) & ""
        Dtbase.Execute (Requete)
        'suppression de la table d'origine
        Requete = "DELETE * FROM Opérations WHERE Clé = " & Liste62.Column(0) & ""
        Dtbase.Execute (Requete)
        'rafraichissement de la liste de sélection
            Me.Refresh
            Me.Liste62.Requery
        End If
    Exit_Commande68_Click:
        Exit Sub
    Err_Commande68_Click:
        MsgBox Err.Description
        Resume Exit_Commande68_Click
    End Sub
    Merci d'avance de votre aide.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Voici quelque piste :
    • Liste62.Column(0) est de quel genre numérique ou alphanumérique
    • dans Projet.Clé et Clé, il me semble qu'il faut [Clé], car il y a un accent
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    rebonjour,


    J'ai mis les crochets sur clé mais ça ne change rien , j'ai toujours la même erreur.

    plus précisément l'erreur pointe sur le where de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE [clé] = " & Liste62.Column(0) & """
    Liste62.Column(0) est de quel genre numérique ou alphanumérique

    --> est de type numérique, c'est la première colonne de ma liste :clé (numauto)

    need help

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Requete = (" INSERT INTO Archivage " _
        & "([Libellé Projet], [Date de clôture])" _
        & " SELECT Projets.[Libellé Projet]," _
        & " Opérations.[Date de clôture]" _
        & " FROM Opérations INNER JOIN Projets ON Opérations.Projet = Projet.Clé " _
        & "WHERE clé = " & Liste62.Column(0)
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    re,

    malheureusement ça ne passe tjrs pas, j'ai essayé ton code, il y avait quelques soucis de syntaxe , mais ça me donne maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Requete = " INSERT INTO Archivage " _
        & "([Libellé Projet], [Date de clôture])" _
        & " SELECT Projets.[Libellé Projet]," _
        & " Opérations.[Date de clôture]" _
        & " FROM Opérations INNER JOIN Projets ON Opérations.Projet = Projets.Clé " _
        & "WHERE Opérations.Clé = " & Liste62.Column(0) & ""
    avec cet erreur: "trop peu de paramètres. 1attendu" ...

    je m'arrache les cheveux la...

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Que donne le msgbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Requete = " INSERT INTO Archivage " _
        & "([Libellé Projet], [Date de clôture])" _
        & " SELECT Projets.[Libellé Projet]," _
        & " Opérations.[Date de clôture]" _
        & " FROM Opérations INNER JOIN Projets ON Opérations.Projet = Projets.Clé " _
        & "WHERE Opérations.Clé = " & Liste62.Column(0) & ""
    Msgbox Requete
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    rebonjour,

    le msgbox donne comme réponse:

    Nom : msgbox.JPG
Affichages : 206
Taille : 18,3 Ko

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ta requête est correcte

    Opérations.Projet et Projets.Clé sont-ils de même type ?

    Et idem pour les champs suivants :
    • Archivage.[Libellé Projet] et Projets.[Libellé Projet] ;
    • Archivage.[Date de clôture] et Opérations.[Date de clôture].
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    re,

    j'ai vérifié les types des différents champs:

    Opérations.Projet et Projets.Clé sont-ils de même type ?
    Opérations.Projet --> numérique
    Projets.Clé-->numeroAuto

    Archivage.[Libellé Projet] et Projets.[Libellé Projet] ;
    Archivage.[Libellé Projet] -->texte
    Projets.[Libellé Projet]-->texte

    Archivage.[Date de clôture] et Opérations.[Date de clôture].
    Archivage.[Date de clôture]-->Date/heure
    Opérations.[Date de clôture]-->Date/heure

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Est-il possible d'avoir une modèle de la base ?

    Par que là, je ne vois pas
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    oui bien sur

    je vous ai envoyé ça en mp

  12. #12
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Je viens de trouver l'erreur, tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Opérations.[Date de clôture]
    alors que c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Opérations.[Date de cloture]
    C'est pour cela qu'il est préférable de ne pas utiliser les accents et les espaces dans le nom des champs
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    OMG

    tout ça à cause d'un chapeau en trop...

    merci encore zoom61

    une épine d'enlevée.

    par contre, l'erreur de syntaxe sur l'instruction UPDATE , tu as une idée?

  14. #14
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ton update devrait plutôt être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE Dossiers
    SET Dossiers.[Montant enveloppe] = (select [Echéancier opérations]!Montant FROM [Echéancier opérations] 'peut un where)
    WHERE Dossiers.Clé=200;
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    je me suis trompé sur ma requête, c'est plutôt quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'maj/calcul du Montant réajustement
        Requete = " UPDATE Dossiers SET (Dossiers.[Montant réajustement] = Dossiers.[Montant enveloppe] - [Echéancier opérations].Montant) 
        Where Opérations.Clé = " & Liste62.Column(0) & ""
    car il y a un soustraction qui se fait pour calculer le [Montant réajustement] dans la table Dossiers

  16. #16
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Tu fais appel à une seconde table, donc un update ne fonctionne qu'avec une table, il faut donc partir sur le principe que je t'ai donné et faire une sous-requête pour avoir le résultat.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    re

    merci pour ton soutien, j'ai modifié ma requête incluant donc une sous requête mais voila que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Requete = " UPDATE Dossiers SET Dossiers.[Montant réajustement]= " _
        & " (Dossiers.[Montant enveloppe]  - (Sélect [Echéancier opérations].Montant " _
        & " FROM [Echéancier opérations] INNER JOIN Opérations ON [Echéancier opérations]" _
        & " WHERE [Echéancier opérations].Opération = Opérations.Clé)) " _
        & " WHERE (Sélect Opérations.Clé FROM Dossiers INNER JOIN Opérations ON Dossiers.Clé = Opérations.Clé)" _
        & " = " & Liste62.Column(0) & """"
        MsgBox Requete
        Dtbase.Execute (Requete)
    erreur: opérateur manquant et quand je mets le - entre " - ", ça me mets "type incompatible" pourtant sur le calcul donne :
    monétaire = monétaire - numérique
    ça devrait passer non?

    je bloque

  18. #18
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela ne serait-il pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Requete = "UPDATE Dossiers SET Dossiers.[Montant réajustement]= " _
        & "(Dossiers.[Montant enveloppe] - (" _
        & "Sélect [Echéancier opérations].Montant " _
        & "FROM [Echéancier opérations] " _
        & "INNER JOIN Opérations " _
        & "ON [Echéancier opérations].Opération = Opérations.Clé " _
        & "WHERE [Echéancier opérations].Opération = " & Liste62.Column(0) & ")) " _
        & "WHERE Opérations.Clé = " & Liste62.Column(0)
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    en effet, c'est plus propre comme ça mais

    toujours: erreur "opérateur absent", il ne voit pas le - , j 'ai l impression

  20. #20
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Quel est le résultat de cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sélect [Echéancier opérations].Montant " _
        & "FROM [Echéancier opérations] " _
        & "INNER JOIN Opérations " _
        & "ON [Echéancier opérations].Opération = Opérations.Clé " _
        & "WHERE [Echéancier opérations].Opération = " & Liste62.Column(0)
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. [syntaxe] erreur de compilation pas comprise
    Par mamelouk dans le forum C++
    Réponses: 20
    Dernier message: 20/08/2007, 11h44
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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