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 :

[A97] Requête Mise à jour via CurrentDb.Execute selon critère de combobox


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut [A97] Requête Mise à jour via CurrentDb.Execute selon critère de combobox
    Bonjour à tous...

    Je vais essayer d'être le plus simple possible...
    Mon cas de figure est le suivant :
    -> 2 tables : [tblA] & [tblB] chacune composées de plusieurs champs donc 2 qui m'intéressent [ChampsA] & [ChampsA'] pour tblA et [ChampsB] & [ChampsB'] pour tblB
    -> 1 formulaire composé de 2 combobox : [cboA] & [cboB]

    L'objectif étant de remplacer [ChampsA] & [ChampsA'] de la [tblA] par ceux de la [tblB] en fonction des combobox...

    Exemple : J'aimerais que l'enregistrement 123 ABC sélectionné dans la [cboA] soit remplacé par 456 DEF choisi dans la [cboB].

    Pour ce faire, je faisais d'abord un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE tblA SET tblA.ChampsA = " & Me.cboB.Value & " WHERE (tblA.ChampsA = " & Me.cboA.Value & ")"
    -> code qui met bien à jour le [ChampsA] de la [tblA].
    Ensuite pour mettre à jour le [ChampsA'] de la [tblA] je faisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE tblA SET tblA.ChampsA' = tblB.ChampsB' WHERE (tblA.ChampsA = " & Me.cboB.Value & ")"
    Et là je tombe en erreur : "Trop peu de paramètres attendu : 1"

    Je m'y prends surement mal, si vous voyez une meilleur méthode, je vous écoutes...

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    il ne manquerait pas une jointure entre tableA et tableB ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par cafeine
    il ne manquerait pas une jointure entre tableA et tableB ?
    Salut cafeine, je ne comprends pas pourquoi il me faudrait une jointure, j'ai l'impression de tout avoir pris en compte non ???

    Merci

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Comment access va-t-il trouver le bon enregistrement de la tableB à mettre à jour puisque ton WHERE ne porte que sur TableA ?

    Citation Envoyé par boulap
    Salut cafeine, je ne comprends pas pourquoi il me faudrait une jointure, j'ai l'impression de tout avoir pris en compte non ???

    Merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par cafeine
    Comment access va-t-il trouver le bon enregistrement de la tableB à mettre à jour puisque ton WHERE ne porte que sur TableA ?
    Ayez je crois que j'ai compris ce que tu voulais me dire ;-)

    Par contre je ne vois pas comment articuler tout ça !!!

    Merci.

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Commence par faire une requête sélection pour tester ta jointure, si c'est Ok, il suffit après de la transformer ...
    Je suppose qu'il doit bien y avoir un champ en commun pour les deux tables non ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par cafeine
    Je suppose qu'il doit bien y avoir un champ en commun pour les deux tables non ?
    Oui après le 1er CurrentDb.Execute, le [ChampsA] de [tblA] = [ChampsB] de [tblB] et il rest donc que les A' à mettre à jour avec le B' ;-)

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Oui oui, surement, à toi de jouer, passe par une requête sélection pour bien faire ta jointure avant d'écrire le SQL Update.

Discussions similaires

  1. [AC-2010] Probléme de mise à jour via une requête
    Par TeoSitran dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 21/03/2014, 12h51
  2. [AC-2007] Exécution d'une requête mise à jour via VBA
    Par higins dans le forum VBA Access
    Réponses: 7
    Dernier message: 13/12/2010, 12h40
  3. confirmation mot de passe via requête mise à jour
    Par yannick63 dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/05/2010, 18h54
  4. Réponses: 1
    Dernier message: 29/11/2009, 17h56
  5. [A97]:Requête mise à jour en mode SQL
    Par JeremieT dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/09/2008, 17h31

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