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 :

ACCESS 2007 Enregistrement avec DAO


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut ACCESS 2007 Enregistrement avec DAO
    bonjour , j'ai un souci , j'ai developpé une base de données sous Access 2007 et j'ai crée des formulaires, maintenant j'aimerais rajouter des enregistrements à des tables de ma base de données grace à des boutons de commande.je rencontre deux problème , tout d'abrod lorsque je souhaite ajouter la reference Microsoft DAO 3.6 Object library , le message suivant apparait: " nom de module de projet ou de bibliothèque d'objets déjà utilisé "
    Par ma suite j'ai lu qu'on avait pas besoin de rajouter la reference avec Access 2007 ; Alors j'ai crée mes bouton de commande et j'ai saisi le code suivant dans ma procédure:
    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
    Private Sub Enregistrer_Click()
    Dim MaBD As Database
    Dim MaTable As Recordset
    Dim MonControle As Control
    Dim f As Form
     
    MsgBox "test ok", vbInformation, "ok"
     
    Set MaBD = CurrentDb()
    Set f = Forms!FormCreerAuditeur
    Set MaTable = MaBD.OpenRecordset("TBSITE", dbOpenDynaset)
     
    MaTable.AddNew
     
    MaTable!IdAuditeur = f!IdAuditeur
    MaTable!FirstNameAud = f!FirstNameAud
    MaTable!LastNameAud = f!LastNameAud
     
    MaTable.Update
    MaTable.Close
    MaBD.Close
    MsgBox "enregistrement reussi", vbInformation, "ok"
     
    For Each MonControle In f.Controls
        If MonControle.ControlType = acTextBox Then
            MonControle = Null
        End If
    Next MonControle
    f!IdAuditeur.SetFocus
    End Sub
    et rien ne marche , lorsque j'effectue un enregistrement . j'aimerais donc savoir où peut se siteur le problème.
    et ma dernière question est de savoir si on peut ecrire ce code à un formulaire rattaché à une table lors de sa création???

    Merci d'avance.

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    En effet la référence DAO est déjà installée
    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
    Private Sub Enregistrer_Click()
    Dim MaBD As DAO.Database
    Dim MaTable As DAO.Recordset
    Dim MonControle As Control
    Dim f As Form
     
    MsgBox "test ok", vbInformation, "ok"
     
    Set MaBD = CurrentDb()
    Set f = Forms!FormCreerAuditeur
    Set MaTable = MaBD.OpenRecordset("TBSITE", dbOpenDynaset)
     
    MaTable.AddNew
     
    MaTable!IdAuditeur = f!IdAuditeur
    MaTable!FirstNameAud = f!FirstNameAud
    MaTable!LastNameAud = f!LastNameAud
     
    MaTable.Update
    MaTable.Close
    MaBD.Close
    MsgBox "enregistrement reussi", vbInformation, "ok"
     
    For Each MonControle In f.Controls
        If MonControle.ControlType = acTextBox Then
            MonControle = Null
        End If
    Next MonControle
    f!IdAuditeur.SetFocus
    End Sub
    Cela devrait fonctionner

  3. #3
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Points : 89
    Points
    89
    Par défaut
    ou une struture de code comme celle-ci qui revient au même mais à connaitre pourquoi pas !?

    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
    Private Sub Enregistrer_Click()
    Dim MaBD As DAO.Database:Set MaBD = CurrentDb()
    Dim MaTable As DAO.Recordset:Set MaTable = MaBD.OpenRecordset("TBSITE", dbOpenDynaset)
    Dim f As Form:Set f = Forms!FormCreerAuditeur
    Dim MonControle As Control
     
    MsgBox "test ok", vbInformation, "ok"
     
    With MaTable
        .AddNew
        !IdAuditeur = f!IdAuditeur
        !FirstNameAud = f!FirstNameAud
        !LastNameAud = f!LastNameAud
        .Update
    End With
     
    MaTable.Close
    MaBD.Close
    Set MaTable = Nothing
    Set MaDB = Nothing
     
    MsgBox "enregistrement reussi", vbInformation, "ok"
     
    For Each MonControle In f.Controls
        If MonControle.ControlType = acTextBox Then
            MonControle = Null
        End If
    Next MonControle
    f!IdAuditeur.SetFocus
     
     
    End Sub

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

Discussions similaires

  1. Excel 2007 enregistrer avec des macros
    Par stos dans le forum Excel
    Réponses: 2
    Dernier message: 16/10/2009, 20h02
  2. [ACCESS 2007] Enregistrement et modification
    Par Jahprend dans le forum Access
    Réponses: 1
    Dernier message: 22/07/2008, 20h41
  3. Access 2007 requete avec " "
    Par jpo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/07/2007, 16h08
  4. [Access 2002] - Problème avec DAO.Workspace
    Par SamLeChiseuji dans le forum Sécurité
    Réponses: 2
    Dernier message: 30/05/2007, 08h57
  5. Réponses: 7
    Dernier message: 06/04/2007, 14h26

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