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

Access Discussion :

Problème de Syntaxe SQL (Update Table)


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut Problème de Syntaxe SQL (Update Table)
    Bonjoura tous,

    J'ai quelques petit soucis avec une requète SQL pour un Update d'une de mes tables.
    Je récupère plein de valeur dans des champs textes et deux valeurs issue d'un menu déroulant.
    Pour mes champs texte pas de soucis, l'updatese fait impecable. Par contre, pour mes menus déroulant, il me récupère bien mes valeur (dans le code VBA) mais il ne m'update pas mes valeur dans ma table . De plus, ma requète SQL m'affiche a chaque fois, Erreur de syntaxe dans la requète SQL....

    Voila ma requète :
    (En bleu les variables issue de mes menu déroulant).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StrSQL1 = "UPDATE TDechets SET (TypeDechetf , Instructionf , CategDechf , Précisionf , codeONUf , CondEnlf , Etiquetagef , codeNom , Design  , Originef , Condf , Etiquettef , infoPlusf , SADRf, Solidef , Liquidef , Gazeuxf , CondBSDf) WHERE TypeDechet.TDechets = modif"
        DoCmd.SetWarnings (False): DoCmd.RunSQL (StrSQL1): DoCmd.SetWarnings (True)
    Voila comment je récupère mes valeur :
    Pour les champs texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TypeDechetf = Me.TypeDechet.Value....idem avec mes autres champs textes
    Pour mon menus déroulant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    codeNom = Me.SelectionCDR1.Column(0)
    Design = Me.SelectionCDR1.Column(1)
    Je ne comprend pas pourquoi ça ne pause aucun problème pour les champs textes et qu'il refuse de me rentré mes valeurs issue de mon menu déroulant !

    Quelqu'un a une idée ou déja eu ce problème ?

    Merci d'avance pour vos réponses !

    Ps: je sais que depuis Access ça serai plus simple mais on m'impose de passer par VBA (pour une extension de l'application....)

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Que vaut StrSQL1 ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Bonjour Tofalu,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Compare Database
    Dim StrSQL1 As String

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Oui mais ça ne me dit pas ce que ça vaut

    J'aurais voulu savoir quelle requete était exécutée. Il faudrait s'interesser au débuggage de la chaine strsql1 :

    http://cafeine.developpez.com/access...el/debugprint/

    Poste nous le résultat de ce qu'elle contient

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Merci de ton attention, je post les resultats dés que possible !

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Je dois avoir un pbl avec mon code, il ne veux pas me l'executer en déboggage ?? Je ne comprend pas pourquoi...
    Je vous joint un résumé de mon appli ou j'ai mon problème, si vous avez le temps d'y jeter un petit coup d'oeil

    TEST2.zip

    Merci beaucoup...!!

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Quelle est l'erreur ?

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Lorsque, dans le menu FMenuDechet je choisi, création d'un déchet, pas de problème, toutes mes valeurs se rentrent bien dans ma table TDechets, par conter, lorsque je souhaite modifier un dechet, je change mes valeurs,( le menu déroulant CodeNom me permet de choisir des valeurs issues d'une autre table Tnomenclature), lorsque je fais enregistrer, une erreur de syntaxe SQL survient. Mes valeurs de champs texte sont bien modifiée mais pas celle de mon menu déroulant. !!!

    Pourtant, j'arrive a les voir dans mon code VBA avec un MsgBox. Je ne comprend vraiment pas pourquoi elle ne se mettent pas a jour !



    Merci pour le temps que vous m'accorder !!!! C'est sympa !

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Utilisation de Nz :

    Plutot que d'utiliser :

    If (IsNull(SelectionDechet) Or (SelectionDechet = vbNullString)) Then
    Il faut utiliser :

    If Nz(SelectionDechet) ="" Then
    Pareil pour éviter les valeurs nulle lorsque l'on récupère les valeurs depuis un controle

    Attention à l'indentation du code.

    Il faut bien aligner les If avec les Else etc. en utilisant la touche tabulation. Parfois tu alignes et parfois c'est fouilli. C'est important, on gagne du temps en lecture.

    Déclaration des variables

    Attention :

    Dim TypeDechet, Instruction, etc.
    Tes variables ne sont pas typées !

    il faut donner les types (string, integer, etc)

    Exemple

    Dim TypeDechet as integer, Instruction as string, etc.
    A quoi servent CodeNom et DesignNom dans la table déchet. Seul codeNom devarit suffir d'ailleur, le controle SelectionCDR1 n'est lié à aucun champ Ce qui provoque une erreur ici

    CodeNom = Me.SelectionCDR1.Column(0)
    DesigNom = Me.SelectionCDR1.Column(1)
    Enfin, pourquoi se compliquer alors qu'un formulaire lié à la table enregistre directement les données

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Merci pour tes précieux conseils, je vais reprendre ce formulaire !!!!


    Merci d'y avoir jeter un oeil

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    C'est vrai que ça doit parraitre un peu fouilli pour quelqu'un qui s'y connai en Access, le problème c'est que j'ai repris une appli existante mais pas finie, et que niveau code, je dois apprendre sur le tas !

    le controle SelectionCDR1 n'est lié à aucun champ Ce qui provoque une erreur ici
    Je ne comprend pas ce que ça veux dire.... Il faudrait juste le "lié" pour que ça marche ?

  12. #12
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bof, il faudrait tout reprendre d'aprés moi

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    J'ai trouvé !! je peu lié directement ma table Nomenclature dans ma table Tdechet !!!

    Si seulement j'avais su ça avant !

    Merci encore !!

  14. #14
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Tofalu
    Bof, il faudrait tout reprendre d'aprés moi

    On est d'accord ! Je m'y met et a la fois !

  15. #15
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    J'ai juste une dernière question après je vous laisse tranquille

    Mon but final est de faire un état ou je listerais toutes les infos de ma table (qui compte pas mal d'info importées d'autres tables)

    Le problème c'est que maintenant, je stock les données de mon autre table directement dans un champ de ma table TDechet...

    Lorsque je fais mon état, comment je peu affiché toutes les données de mon champs "toto" par exemple, qui renferme 3 ou 4 info d'une autre table ?

    Nom : exemple.JPG
Affichages : 63
Taille : 20,0 Ko

    Comme dans l'exemple, dans mon état, je peu faire afficher Nom1, mais comment faire pour affiché la deuxième colonne dans un autre champ ?

    J'espère que je suis clair....

  16. #16
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 19
    Points
    19
    Par défaut
    J'ai posté ma question dans un autre post car elle n'a plus grand chose a voir avec celui-ci !

Discussions similaires

  1. Problème syntaxe SQL Update
    Par delavega dans le forum Langage SQL
    Réponses: 11
    Dernier message: 14/01/2014, 13h19
  2. [MySQL] Problème de syntaxe SQL (UPDATE)
    Par lukyVJ dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/06/2011, 18h27
  3. Problème de syntaxe SQL
    Par fastpulse dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/11/2007, 12h17
  4. Problème de syntaxe INSERT/UPDATE
    Par Alexwei dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/02/2007, 11h31
  5. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07

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