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 :

Mise à jour d'une table


Sujet :

Access

  1. #1
    Membre habitué Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Points : 142
    Points
    142
    Par défaut Mise à jour d'une table
    Bonjour à tous,

    Dans un formulaire, j'ai un sous-formulaire que j'utilise pour mettre à jour une table "CpteRenduVisite".

    Pour chaque ligne du sous-formulaire, j'attribue un code client et je coche le champ "Maj_CpteRendu", ce qui déclenche la mise à jour de ma table.

    Voici le code que j'utilise :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Private Sub MàJ_CpteRendu_Click()
    Dim Mabase As Database
    Dim Qrt As QueryDef
    Dim SqlUpdate As String
    Dim Msg, Style, Title, Reponse, MyString
    Set Mabase = CurrentDb
    Set Qrt = Mabase.CreateQueryDef("", SqlUpdate)
    Msg = "Souhaitez-vous continuer?"    ' Définit le message.
    Style = vbYesNo + vbCritical + vbDefaultButton2    ' Définit les boutons.
    Title = "Mise à jour de la Table TBL_RegrOutlook "    ' Définit le titre.
    Reponse = MsgBox(Msg, Style, Title) ' Affiche le message.
        If Reponse = vbNo Then    ' L'utilisateur a choisi Non.
            MyString = "Non"    ' Effectue une action.
        Exit Sub
        Else
            MyString = "Oui"    ' L'utilisateur a choisi Oui. Effectue une action.'Date() AS [Date]
    SqlUpdate = "INSERT INTO Tbl_CpteRendu ( Code_Client, Commercial, [Date], CpteRendu )"
    SqlUpdate = SqlUpdate & "SELECT Tbl_RegrOutlook.CodeClient, Tbl_RegrOutlook.Commercial, "
    SqlUpdate = SqlUpdate & " Tbl_RegrOutlook.Date, Tbl_RegrOutlook.Message "
    SqlUpdate = SqlUpdate & " FROM Tbl_RegrOutlook "
    SqlUpdate = SqlUpdate & "WHERE (((Tbl_RegrOutlook.Commercial) Is Not Null) AND ((Tbl_RegrOutlook.Maj_CpteRendu)=True));"
     
            Mabase.Execute SqlUpdate, dbFailOnError
            MsgBox "Vous avez ajouté " & Mabase.RecordsAffected & " nouveaux Compte-Rendu."
    End If
    End Sub

    Le problème, c'est qu'à chaque nouvelle mise à jour, toutes les lignes du champ "Maj_CpteRendu" qui sont cochées sont ajoutées.

    Je souhaiterai ajouter uniquement celle qui sont cochées au niveau de mon sous-formulaire.

    Qu'est ce qui ne va pas dans mon code ?

    Merci pour votre aide.

    Daniel

  2. #2
    Membre habitué Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Points : 142
    Points
    142
    Par défaut Mise à jour d'une table
    Bonjour à tous,

    Je reviens vers vous avec mon problème.

    Comme je n'ai pas de réponse, j'en deduis que je ne dois pas procéder de la bonne manière.

    Afin de solutionner ce problème, je souhaiterai accéder aux controls de mon sous-formulaire.

    En consultant les cours et tutoriels j'ai vu cette syntaxe, mais elle ne fonctionne pas, je n'arrive tjrs pas à accéder aux controls de mon sous-formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub MàJ_CpteRendu_Click()
    Dim Mabase As Database
    Dim frm As Form
    Set Mabase = CurrentDb
    Set frm = Me.[Frm_RegrOutlook].Form
     
    End sub ()
    Pouvez-vous m'aider ?

    D'avance Merci.

    Daniel

  3. #3
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set frm = Me.[Frm_RegrOutlook].Form
    je crois qu'il n'y a pas de []

Discussions similaires

  1. Mise à jour d'une table
    Par smotte76 dans le forum Access
    Réponses: 2
    Dernier message: 31/10/2005, 18h13
  2. Mise à jour d'une table
    Par bath dans le forum Oracle
    Réponses: 5
    Dernier message: 19/10/2005, 12h01
  3. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  4. Réponses: 5
    Dernier message: 06/01/2005, 12h07
  5. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09

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