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 :

Code qui ne s'exécute pas [AC-2007]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Code qui ne s'exécute pas
    Bonsoir à tous !
    Voila, j'ai un souci car je suis en train de créer un formulaire (constituer de case à cocher) qui doit me permettre d'alimenter ma base de donnée.

    Sur ce formulaire figure un bouton Enregistrer qui au moment du clic doit enregistrer dans ma base des informations... Cependant rien ne se passe.
    Même le message de confirmation d'enregistrement ne s'affiche pas.

    Petite précision, le code que j'utilise pour l'évènement sur le clic du bouton enregistrer et un copier coller car j'avais déjà fait un travail similaire cependant le code a était adapté après l'avoir collé.

    Voici mon 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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    Private Sub BT_Enregistrer_Click()
     
     
    Dim rep, rep2, rep3, rep4, rep5, rep6, rep7 As Boolean
    Dim Rs, Rs2, Rs3, Rs4, Rs5, Rs6, Rs7, Rs8, Rs9, Rs10, Rs11, Rs12, Rs13, Rs14, Rs15, Rs16, Rs17, Rs18 As DAO.Recordset
    Dim nquestionnaire As Long
    Dim nclient As Long
    Dim ncompetence As Long
     
     
    'test
     
    If Me.c1.Value = True Then
    rep = True
    ElseIf Me.c1.Value = False Then
    rep = False
    End If
     
    If Me.c2.Value = True Then
    rep2 = True
    ElseIf Me.c2.Value = False Then
    rep2 = False
    End If
     
    If Me.c3.Value = True Then
    rep3 = True
    ElseIf Me.c3.Value = False Then
    rep3 = False
    End If
     
    If Me.c4.Value = True Then
    rep4 = True
    ElseIf Me.c4.Value = False Then
    rep4 = False
    End If
     
    If Me.c5.Value = True Then
    rep5 = True
    ElseIf Me.c5.Value = False Then
    rep5 = False
    End If
     
    If Me.c6.Value = True Then
    rep6 = True
    ElseIf Me.c6.Value = False Then
    rep6 = False
    End If
     
    If Me.c7.Value = True Then
    rep7 = True
    ElseIf Me.c7.Value = False Then
    rep7 = False
    End If
     
     
     
     
     
     
     
    'On rempli le champ date de la table questionnaire par la date du formulaire
     
    SQL = "select * from questionnaire;"
    Set Rs = CurrentDb.OpenRecordset(SQL)
    Rs.AddNew
        Rs.DateQuest = Me.TXT_date
    Rs.Update
    Rs.Close
     
    SQL50 = "select max(NumQuestionnaire) from Questionnaire;"
    Set rs50 = CurrentDb.OpenRecordset(SQL50)
    nquestionnaire = rs50(0)
    rs50.Close
     
    'Pour recuperer le numero de client
     
    nclient = Me.ListeClient
     
     
    'test
     
     
    For ncompetence = 1 To 7
        SQL2 = "select * from réponse;"
        Set Rs2 = CurrentDb.OpenRecordset(SQL2)
        Rs2.AddNew
            Rs2.NumQuestionnaire = nquestionnaire
            Rs2.NumCompétence = ncompetence
            Rs2.NumClient = nclient
            Select Case ncompetence
                Case 1
                    Rs2.réponse = rep
                Case 2
                    Rs2.réponse = rep2
                Case 3
                    Rs2.réponse = rep3
                Case 4
                    Rs2.réponse = rep4
                Case 5
                    Rs2.réponse = rep5
                Case 6
                    Rs2.réponse = rep6
                Case 7
                    Rs2.réponse = rep7
            End Select
        Rs2.Update
        Rs2.Close
    Next ncompetence
     
     
     
    'Confirmation
    MsgBox ("Le formulaire à bien était enregistré")
    DoCmd.Close acForm, "Formulaire1"
    DoCmd.OpenForm ("Formulaire1")
     
    End Sub
    Je suis débutant, merci de votre compréhension et de votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Points : 172
    Points
    172
    Par défaut
    Salutations,

    Alors si le message de fin de code ne s'affiche, c'est que l'on n'entre pas du tout dans le code puisqu'il n'y a aucun Exit Sub qui traine.

    Petite question bête mais quand on travaille en copier/coller ça peut arriver.

    Tu as bien collé le code VBA dans la section qui correspond au formulaire sur lequel est le bouton ?
    Tu as bien vérifier que le nom de ton bouton correspond à celui du titre de ta fonction (pas de faute de frappe qui traine hein ) ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    En plus de la réponse de Manhexter, as-tu vérifié dans les propriétés de ton bouton que l'évènement click fais appel au code VBA (Ce qui arrive lorsque tu fais du copier/coller est que le code est présent mais pas l'évènement qui reste vide).

    Tu peux aussi réduire le code de début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    rep = Me.c1.Value 
    rep2 = Me.c2.Value
    rep3 = Me.c3.Value
    etc...
    Bonne journée.

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 175
    Points : 193
    Points
    193
    Par défaut
    Je ne suis pas sûr du tout mais il me semble qu'en VBA tes lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim rep, rep2, rep3, rep4, rep5, rep6, rep7 As Boolean
    Dim Rs, Rs2, Rs3, Rs4, Rs5, Rs6, Rs7, Rs8, Rs9, Rs10, Rs11, Rs12, Rs13, Rs14, Rs15, Rs16, Rs17, Rs18 As DAO.Recordset
    traduisent que rep7 est de type Boolean, RS18 de type DAO.Recordset et tout le reste de type Variant

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour toutes vos réponses !

    Vous allez me prendre pour un idiot... J'ai trouvé d'ou venez le problème.
    Je n'avais pas fait gaffe à l'avertissement de sécurité "du contenu de la base de données à était désactivé" que Access m'affichait.
    Il ma suffit de cliquer sur Option, Activer.

    Désolé de vous avoir dérangé, et merci quand même pour votre réactivité.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/05/2015, 16h20
  2. [AJAX] code javascript qui ne s'excute pas
    Par backfire dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/05/2008, 15h10
  3. Réponses: 8
    Dernier message: 08/05/2006, 20h40
  4. probleme de requete mysql qui ne s'exécute pas
    Par anto48_4 dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/03/2006, 10h51
  5. [MySQL] requete sql qui ne s'exécute pas
    Par anto48_4 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 16/03/2006, 09h12

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