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 :

insertion dans une table puis update dans une autre table


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut insertion dans une table puis update dans une autre table
    Bonjour, alors je reformule ce que je cherche à faire, car je n'ai toujours rien trouvé dans la faq ni dans les cours sur access.

    Donc je souhaiterais mettre à jour un champ d'une table (par exemple table produits), après l'enregistrement d'une nouvelle ligne dans une autre table (par exemple table livrer), l'enregistrement se fait grâce à un formulaire, et je voudrais qu'après cet enregistrement un champ de ma table produits soit mis à jour c'est à dire augmenté ou diminué de la valeur que l'utilisateur aura saisi dans le formulaire pour ma table livrer.

    Je voudrais connaitre la syntaxe vba de cette manip, j'ai eu comme infor qu'il faudrais lancer une requete d'insert puis une d'update, mais comment? par le code, par les formulaires ? je ne sais pas du tout comment faire...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    j'ai testé ce code mais ça ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Produits INNER JOIN (Livraison INNER JOIN Ligne_Livraison ON Livraison.num_bl = Ligne_Livraison.num_bl) ON Produits.ref_prod = Ligne_Livraison.ref_prod SET Produits.qte_stock = " Produits.qte_stock"+"Ligne_Livraison.qte_liv";
    En fait jai crée une requete de mise à jour mais je reçoit un message d'erreur, et la requete n'est exécutée que partiellement.
    D'après ce que j'ai compris on ne peut réaliser ce type de requete que sur 1 ou 2 tables cependant ma base venant d'une base oracle j'ai laissé la structure telle quelle et pour cette requete j'ai besoin de 3 tables .... quelqu'un peut-il m'aider ?



  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Bonjour t'as essayé ceci:
    En supposant que produits.qte_stock et ligne_livraison.qte.liv sont numériques.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "UPDATE Produits INNER JOIN (Livraison INNER JOIN Ligne_Livraison ON Livraison.num_bl = Ligne_Livraison.num_bl) ON Produits.ref_prod = Ligne_Livraison.ref_prod SET Produits.qte_stock =" & Produits.qte_stock+Ligne_Livraison.qte_liv;

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    si des fois il y a une reponse, je suis preneur, car je cherche le mem genre d'infos...

    une table ressourcesmatériels et un formulaire de reservation,

    je voudrais actualiser la quantité en stock en fonction des matériels sortis.

    merci d'avance.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Voici un exemple d'update :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        CurrentDb.Execute "Update Fund Set Lien_repertoire = '" & LinkDatabase & "' WHERE ID_Fund=" & IDFund25
    avec
    IDFund25 : integer
    LinkDatabase : String

    Si ca peut vous aider.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Le code proposé par le Niak avec une requete de mise à jour fonctionne super bien, il faut faire juste attention à bien mettre les crochets pour que la mise à jour se fasse correctement.

    en tous les cas merci car ca m'a bien aidé...

    pour lancer la requet à partir d'un after update ou d'un clic dans le formulaire, il suffit d'utiliser la FAQ comment lancer une requete en VBA.

    http://access.developpez.com/faq/?pa...s#UtilReqExist

    pour info, j'ai realise une double mise à jour lors de la reservation de materiel pour les activités de mes etudiants.

    diminution du stock lors de la reservation

    et incrementation au retour de l'outillage.

Discussions similaires

  1. faire dans access plusieurs requetes update en une seule
    Par HF974 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 03/02/2009, 16h49
  2. intégrer une chaine sql update dans PHP
    Par beegees dans le forum Langage
    Réponses: 10
    Dernier message: 22/10/2008, 09h36
  3. Choix dans liste déroulante puis rajout d'une autre liste déroulante
    Par Nosti dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 01/02/2008, 17h50
  4. Réponses: 14
    Dernier message: 10/01/2007, 10h12

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