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 d'expression SQL [AC-2013]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut problème d'expression SQL
    bonjour,

    je souhaiterai mettre des valeurs de champs d'une table qui n'éxiste pas dans la 2ème table en sql sans qu'il affiche un message d'erreur, voici le code ou je bloque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.RunSQL "INSERT INTO [Arch_Affectation] (Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM, Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action )" _
     & " select Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM , Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action" _
      & " FROM [Affectation] WHERE [Affectation].Or_Affectation = Me.Or_Affectation "
    Merci d'avance

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 088
    Points : 5 204
    Points
    5 204
    Par défaut
    Bonjour,

    Me.Or_Affectation est une variable locale, il faut la sortir de la string et éventuellement l'entourer de cotes si c'est une string
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    merci pour ta réponse mais comment je procède dans le code? peut-tu me le réécrire s'il te plais? pour je vois mes erreurs

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Si Me.Or_Affectation est du texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.RunSQL "INSERT INTO [Arch_Affectation] (Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM, Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action )" _
    & " select Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM , Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action" _
    & " FROM [Affectation] WHERE [Affectation].Or_Affectation ='" &  Me.Or_Affectation & "'"
    Si Me.Or_Affectation est numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.RunSQL "INSERT INTO [Arch_Affectation] (Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM, Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action )" _
    & " select Or_Affectation, USER_ID, PIN_Terminal, PIN_SIM, Coque, Vitre, Support_Vehicule, Num_EMEI,Num_SIM , Date_Début, Date_Fin, Actif, Statut_Affectation, Commentaire, Auteur, Date_Maj, Desc_Action" _
    & " FROM [Affectation] WHERE [Affectation].Or_Affectation =" &  Me.Or_Affectation
    Cordialement,

    Note : Pour faciliter la lecture des codes que vous postez, utilisez la balise code s'il vous plait : Sélectionner le code et cliquer sur #
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    Merci, sa fonction j'ai plus aucun problème au niveau du code mais sur le transfère c'est-a-dire que quand j'appuie sur le bouton code s'active sans problème mais quand je vais sur l'autre table la ligne apparait mais pas le champ ou je fais la modification, car quand l’exécution s'arrête je suis obligé de changé de ligne pour le mot de la cellule apparaisse et comme sa apparait un fois que j'ai changé de ligne, automatiquement sa apparait pas sur l'autre table
    que faire?

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Qu'est-ce que tu veux faire "exactement" ? :
    1- Insérer les valeurs sélectionnées selon Me.Or_Affectation de la table [Affectation] dans la table [Arch_Affectation] (c'est le code que tu donnes).
    2- ou Modifier certaines valeurs des champs dans [Arch_Affectation] selon selon Me.Or_Affectation

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    j'aimerai que quand j’exécute le code que tout s’insère du premier coup et pas que le champ statut_afectation reste vide
    Images attachées Images attachées  

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    j'ai trouvé la solution enfête il falait mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdSaveRecord
    pour enregistré les enregistrements courant

    merci pour ton aide et la prochaine

    cordialement

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il faut ajouter un
    à la fin du code pour "rafraichir" ton formulaire.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    maintenant suite au code que tu ma donnée, j'aimerais faire la même chose avec la table Equipement en sachant que les tables Affectation et Equipement sont en relation et dans le champ (Statut_Equipement) se trouve une liste déroulante avec "affecté" et "non affecté", je voudrais positionné sur "non affecté" voici que j'ai composé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.RunSQL "INSERT INTO [Equipement] (Statut_Equipement)" _
     & " SELECT Affectation.Statut_Affectation" _
      & " FROM [Affectation] where [Affectation] ON Equipement.Num_EMEI =" & Affectation.Num_EMEI
    le code est affiché en jeune

  11. #11
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Tu dis vouloir faire la même chose ? Mais quand tu dis :
    je voudrais positionné sur "non affecté" voici que j'ai composé :
    C'est une mise à jour et non une insertion de valeur ! Non ?
    Dans ce cas, il faudrait utiliser plutôt une requête UPDATE

    Si tu n'es pas à l'aise dans la construction "directe" du code SQL, mets-toi dans le QBE (Création requête avec assistant d'Access) et crées une requête mise à jour de ton champ.
    Puis tu récupères le code SQL pour le coller dans VBA. C'est plus simple.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    bonjour,
    plutôt une mise a jour du champ Statut_affecté depuis le formulaire j'ai essayer un code mise a jour mais a chaque fois que je le lance, il bloque au code mise a jour que voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE [Equipement] INNER JOIN [Affectation] ON Equipement.Num_EMEI = Affectation.Num_EMEI SET Equipement.Statut_Equipement = Non Affecté "
    j'ai essayé un deuxième code qui me modifie toute la colonne au lieu du champ conserné, que j'ai modifié sur le formulaire, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL " UPDATE [Equipement] INNER JOIN [Affectation] ON [Equipement].Num_EMEI = [Affectation].Num_EMEI SET [Equipement].Statut_Equipement = "" & Non Affecté """

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Ton deuxième code peut être plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL " UPDATE [Equipement] INNER JOIN [Affectation] ON [Equipement].Num_EMEI = [Affectation].Num_EMEI SET [Equipement].Statut_Equipement =' & Non Affecté "'"
    mais tu oublies de définir le critère de sélection de la valeur dans ton formulaire, il faut un "WHERE" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.RunSQL " UPDATE [Equipement] INNER JOIN [Affectation] ON [Equipement].Num_EMEI = [Affectation].Num_EMEI SET [Equipement].Statut_Equipement =' & Non Affecté "'" _
                                   & " WHERE Equipement.Num_EMEI='" & Me.NumImei & "'"
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 275
    Points : 76
    Points
    76
    Par défaut
    merci sa fonctionne, un grand merci pour ton aide
    a la prochaine
    cordialement,

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

Discussions similaires

  1. Problème d'installation SQL server 2008 express
    Par greg_54fr dans le forum Administration
    Réponses: 0
    Dernier message: 10/10/2009, 21h55
  2. Problème de connexion SQL server express 2008 et Access 2003
    Par Kalion dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/03/2009, 09h17
  3. Problème d'installation SQL Server 2005 Express avec param /qb
    Par emmr.rida dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/01/2009, 21h13
  4. [CR11] Problème avec un champ d'expression SQL
    Par Benoit30 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/05/2006, 16h22
  5. problème connection distante sql express
    Par cbleas dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/05/2006, 12h39

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