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 :

création d une table et mise à jour dynamic via formulaire


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 35
    Points
    35
    Par défaut création d une table et mise à jour dynamic via formulaire
    bonjour à tous,
    voilà mon souci actuel.
    J ai un formulaire ds lequel j ai un tableau avec des valeurs numériques que j aimerais avoir sous forme graphique.
    Mon problème est que que je voudrais une autre mise en forme du graphique ( car dans ce tableau , je n ai pas d'abscisse ) donc j ai crée une nouvelle table à 2 colonnes ( abscisse et ordonnées) vide au départ que je met à jour via le formulaire. voilà le code :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    Private Sub form_current()
     
    Dim dbs As DAO.Database
    Dim Rst As DAO.Recordset
     
     
    Set Rst = CurrentDb.OpenRecordset("graph1", dbOpenDynaset)
    With Rst
     
     
    If Rst.RecordCount = 0 Then
     
    Rst.AddNew
     
    Rst.Fields(0) = 1
    Rst.Fields(1) = Me.DDM_bord_normal_ens1.Value
    Rst.Fields(2) = Me.Al_gauche_bord_ens1.Value
    Rst.Fields(3) = Me.Al_droite_bord_ens1.Value
     
    Rst.Update
    Rst.AddNew
     
     
    Rst.Fields(0) = -1
    Rst.Fields(1) = Me.DDM_Mon_normal_ens1.Value
    Rst.Fields(2) = Me.Al_gauche_sol_ens1.Value
    Rst.Fields(3) = Me.Al_droite_sol_ens1.Value
    Rst.Update
     
    Else
     
    Rst.MoveFirst
     
    Rst.Fields(0) = 1
    Rst.Fields(1) = Me.DDM_bord_normal_ens1.Value
    Rst.Fields(2) = Me.Al_gauche_bord_ens1.Value
    Rst.Fields(3) = Me.Al_droite_bord_ens1.Value
     
     
    Rst.MoveNext
     
    Rst.Fields(0) = -1
    Rst.Fields(1) = Me.DDM_Mon_normal_ens1.Value
    Rst.Fields(2) = Me.Al_gauche_sol_ens1.Value
    Rst.Fields(3) = Me.Al_droite_sol_ens1.Value
     
    Rst.Close
     
    End If
     
    End With
     
    End Sub
    1) Pour que le graph se mette à jour dynamiquement à chaque changement de valeur dans le tableau, est ce que je dois mettre ce code dans form_current ou autre ( dois je crée une macro pour actualiser cette table)
    2) en suite et c est le plus important j ai le message suivant quand je lance le formulaire :
    " erreur d 'execution 3020. Update ou cancelupdate effectué sans appeler addnew ni edit '.
    Et en plus mes valeurs dans ma table contiennent bien les bonnes valeurs lors du premier lancement du formulaire mais ne se mettent pas à jour quand je modifie ensuite le tableau du formulaire.

    Kelkun aurait il une idée du pourquoi?
    Thanks.
    Sunwind

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Juste pour ce qui concerne ton 2ème Pb.
    Tu devrais lire le tutoriel DAO disponible sur les Pages Access du Site developpez.com.

    Donc avec DAO avant de mettre à jour certains champs de l'enregistrement courant d'un Recordset, il faut tout d'abord invoquer la méthode Edit. Une fois les champs mis à jour, pour enregistrer ces modifications il faut invoquer la méthode Update.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    Private Sub Form_Current()
        Dim dbs As DAO.Database
        Dim Rst As DAO.Recordset
     
        Set Rst = CurrentDb.OpenRecordset("graph1", dbOpenDynaset)
     
        With Rst
            If .RecordCount = 0 Then
     
                .AddNew
                .Fields(0) = 1
                .Fields(1) = Me.DDM_bord_normal_ens1.Value
                .Fields(2) = Me.Al_gauche_bord_ens1.Value
                .Fields(3) = Me.Al_droite_bord_ens1.Value
                .Update
     
                .AddNew
                .Fields(0) = -1
                .Fields(1) = Me.DDM_Mon_normal_ens1.Value
                .Fields(2) = Me.Al_gauche_sol_ens1.Value
                .Fields(3) = Me.Al_droite_sol_ens1.Value
                .Update
     
            Else
     
                .MoveFirst
                .Edit
                .Fields(0) = 1
                .Fields(1) = Me.DDM_bord_normal_ens1.Value
                .Fields(2) = Me.Al_gauche_bord_ens1.Value
                .Fields(3) = Me.Al_droite_bord_ens1.Value
                .Update
     
                .MoveNext
                .Edit
                .Fields(0) = -1
                .Fields(1) = Me.DDM_Mon_normal_ens1.Value
                .Fields(2) = Me.Al_gauche_sol_ens1.Value
                .Fields(3) = Me.Al_droite_sol_ens1.Value
                .Update
     
            End If
     
            .Close
        End With
    End Sub

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/03/2014, 10h15
  2. Réponses: 7
    Dernier message: 18/12/2013, 14h29
  3. Trigger sur une table et mise à jour
    Par fffonck dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/06/2009, 11h11
  4. Problème sur une requête de mise à jour entre 2 tables
    Par Throbb dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/03/2009, 14h43
  5. Réponses: 2
    Dernier message: 10/03/2006, 13h55

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