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 :

Update avec access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Update avec access
    Bonjours à tous,
    je programme en ce moment un logiciel de gestion de cave à vin.
    Mais je bloque là. Voici le code qui me pose probleme.
    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
     
     
    'On selectionne dans la base de donnée par rapport a ce que j'ai entré!
    Set req_ent = db.OpenRecordset("SELECT * FROM TAB_DEVIS Where Categorie and Appellation and Cru and Titre and Millesime and Contenant and Fournisseur and Prix LIKE '" & BCategorie.List(BCategorie.ListIndex) & "' and '" & BAppellation.List(BAppellation.ListIndex) & "' and '" & BCru.List(BCru.ListIndex) & "' and '" & BTitre.List(BTitre.ListIndex) & "' and '" & BFournisseur.List(BFournisseur.ListIndex) & "' and '" & Bcontenant.List(Bcontenant.ListIndex) & "' and '" & BMillesime.List(BMillesime.ListIndex) & "' and '" & leprix.Text & "'")
     
    'Si ca existe deja
    If req_ent.BOF Then
     
    'On ajoute juste le nouveau solde a l'ancien
    db.Execute ("UPDATE TAB_DEVIS  Set Solde = Solde + ('" & laquantite & "') WHERE Categorie and Appellation and Cru and Titre and Millesime and Contenant and Fournisseur and Prix LIKE '" & BCategorie.List(BCategorie.ListIndex) & "' and '" & BAppellation.List(BAppellation.ListIndex) & "' and '" & BCru.List(BCru.ListIndex) & "' and '" & BTitre.List(BTitre.ListIndex) & "' and '" & BFournisseur.List(BFournisseur.ListIndex) & "' and '" & Bcontenant.List(Bcontenant.ListIndex) & "' and '" & BMillesime.List(BMillesime.ListIndex) & "' and '" & leprix.Text & "'")
     
    'Sinon (si ca n'existe pas)
    Else
     
    'On ajoute dans la base de donné
    db.Execute ("INSERT into TAB_DEVIS(Categorie,Appellation,Cru,Titre,Fournisseur,Contenant,Millesime,Prix,Solde,Rangement,Commentaires) values ('" & BCategorie.List(BCategorie.ListIndex) & "', '" & BAppellation.List(BAppellation.ListIndex) & "', '" & BCru.List(BCru.ListIndex) & "', '" & BTitre.List(BTitre.ListIndex) & "', '" & BFournisseur.List(BFournisseur.ListIndex) & "', '" & Bcontenant.List(Bcontenant.ListIndex) & "', '" & BMillesime.List(BMillesime.ListIndex) & "', '" & leprix.Text & "', '" & laquantite & "', '" & Lerangement & "','" & comm.Text & "')")
     
    End If
    En fait je souhaiterais que si les données que j'ai saisie existe, seul la quantité change.
    Mais soit la quantité en question s'additionne à tous les bouteilles, soit rien ne change.

    Voyez vous ou se trouve le probleme?

    Merci d'avance.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    moi je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    where 
    champ1=clause1
    and champ2>=clause2
    and champ3 between 17 and 56
    and champ4 like("montrachet")
    and champ5 etc..
    mais moi c'est moi

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup cela fonctionne!
    Mais c'est mon if qui doit bloquer maintenant car ca ne fonctionne que lorsque je ne teste pas si la valeur existe.
    Est ce bien pour verifiez si les valeurs selectionnées juste au dessus existe dans la base de donnée?
    J'ai un gros doute la :S

    Merci d'avance.

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Un truc que j'avais fait :
    - Tu désactives le gestionaire d'erreurs
    - Tu tentes un INSERT
    - En cas d'erreur, tu fais un update
    (Il te faut une clé primaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    On error resume next
    db.Execute ("INSERT into TAB_DEVIS .....
    If Err then
       On error Goto 0
       db.Execute ("UPDATE TAB_DEVIS  Set Solde = Solde .....
    end if

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    avant le if ...bof
    req_ent.movefirst

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci a tous! La premiere solution proposer etait la bonne!
    Pour la seconde, je me suis servit de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If req_ent.recordcount >0 then
    Merci encore

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

Discussions similaires

  1. ACCESS : Update avec select
    Par lediz dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 19/08/2009, 12h06
  2. [Delphi6,Access] Requête update avec select imbriqué
    Par magicstar dans le forum Débuter
    Réponses: 3
    Dernier message: 30/03/2009, 19h40
  3. update avec paramètre dans access (pour modifier une image)
    Par salihovic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/02/2008, 21h27
  4. Requête UPDATE FROM avec Access
    Par MHO dans le forum Access
    Réponses: 2
    Dernier message: 01/12/2006, 12h24
  5. Probleme avec requete UPDATE sur ACCESS
    Par Chromatic dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/01/2006, 10h03

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