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 :

MAJ table à partir de formulaires


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 24
    Points
    24
    Par défaut MAJ table à partir de formulaires
    Bonjour,

    J'ai un soucis lors de la mise à jour d'une table (T1) à l'un d'un bouton click situé sur un formulaire (f1)
    J'ai des champs 1,2,3 que je remplis sur mon formulaire, le champs 1 peut être égal à A,B... et si il vaut A un seconde formulaire (f2) qui souvre où je remplis les champs4 et 5.
    Lorsque je clique sur le bouton je veux donc crééer une ligne dans ma table T1 qui comprenne les champs 1,2,3 contenu dans mon formulaire ainsi que les champs 4 et 5 que jai renvoyé, à partir du formulaire f2 (qui se ferme ensuite) dans une table t2 lorsque champ 1 = A.

    Les champs 4 et 5 s'enregistrent sans soucis dans t2 et mon code ci-dessous fonctionne pour les champs 1,2,3 mais lorsque les champs 4 et 5 existe au lieu de les prendres dans t2 j'ai un msgbox qui apparait pour me faire saisir ces deux paramètres (qu'ils entre dans ma table T1 au lieu des champs 4 et 5 que j'avais saisie dans f2 et qui se sont bien mises dans t2).

    Quelqu'un pourrait-il m'éclaircir?

    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
    Private Sub Commande66_Click()
    On Error GoTo Err_Commande66_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
    If Forms![f1]![champs 1] <> "A" Then
    Mysql = "INSERT INTO T1([champs 1],[champs 2],[champs 3])" & _
    " VALUES(Forms![f1]![champs 1], Forms![f1]![champs 2],Forms![f1]![champs 3])"
    DoCmd.RunSQL Mysql
    End If
     
    If Forms![f1]![champs 1] = "A" Then
    Mysql = "INSERT INTO T1([champs 1],[champs 2],[champs 3],[champs 4],[champs 5)" & _
    " VALUES(Forms![f1]![champs 1], Forms![f1]![champs 2],Forms![f1]![champs 3],table!,[t2]![champs 4],table![t2]![champs 5])"
    DoCmd.RunSQL Mysql
    End If
     
    Exit_Commande66_Click:
        Exit Sub
     
    Err_Commande66_Click:
        MsgBox Err.Description
        Resume Exit_Commande66_Click
    End Sub
    Merci!

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Humm... bien tenté mais ... table![t2]... n'existe pas

    On ne peut pas ainsi accéder à un champ d'une table...
    La syntaxe Forms![f1] fait référence a la collection des formulaires actuellement ouverts.
    Forms![f1]![champs 2] donne la valeur du champs 2 de ce formulaire. Si ce dernier est lié à une source, c'est donc la valeur de l'enregistrement en cours qui est récupérée.

    Il n'y a pas de collection Tables équivalente...

    Je t'invite à prendre un peu de temps pour mieux comprendre les concepts fondamentaux sous-jacents. Il est notamment important de bien distinguer la notion de table, de recordset, de formulaire...

    Pour cela tu trouveras de multiples ressources sur ce forum.

    Ici par exemple: http://access.developpez.com/cours/?page=dataaccess

    Bon lecture.
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

Discussions similaires

  1. [AC-2007] MAJ Table via sous-formulaire
    Par Yoyo78 dans le forum Access
    Réponses: 16
    Dernier message: 08/04/2014, 09h12
  2. MAJ table à partir d'une autre table
    Par crouba dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/07/2008, 12h27
  3. Suppression Elément d'une table à partir sous formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 3
    Dernier message: 19/05/2006, 10h57
  4. Mise à jour table à partir sous-formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 6
    Dernier message: 19/05/2006, 09h26
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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