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 :

Analyse de mon code Access VBA Probleme


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Analyse de mon code Access VBA Probleme
    Bonjour à tous,

    Je souhaiterais avoir votre avis sur mon code. Je n'arrive pas à déterminer ou se situe le soucis. Car je n'ai aucun message d'erreur retourné


    Avec ce code ça fonctionne pour enregistrer les nouvelle entrée mais avec le code en dessous lorsque le client est connu, je ne dois plus l'enregistré j'émets donc une condition et ça ne fonctionne plus...

    J'aimerais savoir s'il y a un moyen de suivre le code lorsqu'il s'exécute?

    Merci pour votre aide

    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
    Private Sub Commande34_Click()
     
    Dim NuSi As String
    Dim NuCl As String
    Dim NoSo As String
    Dim PrPc As String
    Dim NuRu As String
    Dim NoRu As String
    Dim CoPo As String
    Dim Vill As String
    Dim Tele As String
    Dim Emai As String
    Dim NuCo As String
    Dim DaSi As String
    Dim Gest As String
    Dim NoMi As String
    Dim NoSi As String
    Dim ReAx As String
    Dim Bran As String
    Dim Requete As String
     
    Dim oDb As dao.Database
    Dim oRstClasse As dao.Recordset
    Dim Rst As dao.Recordset
    Dim Rst1 As dao.Database
    Dim strSQL As String
     
     'recupération des info du formulaire
     
    NuSi = Me.Controls("Numéro Sinistre").Value
    NuCl = Me.Controls("Numéro de client").Value
    NoSo = Me.Controls("Nom/Société").Value
    PrPc = Me.Controls("Prénom/Personne de contact").Value
    NuRu = Me.Controls("N°, Rue").Value
    CoPo = Me.Controls("Code Postal").Value
    Vill = Me.Controls("Ville").Value
    Tele = Me.Controls("Téléphone").Value
    Emai = Me.Controls("Email").Value
    NuCo = Me.Controls("Numéro contrat").Value
    DaSi = Me.Controls("Date sinistre").Value
    NoMi = Me.Controls("Gestionnaire").Value
    NoSi = Me.Controls("Note Sinistre").Value
    ReAx = Me.Controls("Reserve Axa").Value
    Bran = Me.Controls("Branche").Value
     
    ' Le client existe?
    Set oDb = CurrentDb
     
     
        ' Ouvrir la table en lecture/écriture
        Set Rst = CurrentDb.OpenRecordset("Personne", dbOpenDynaset)
     
            ' Créer un enregistrement dans la table
            Rst.AddNew
     
            ' Alimenter les champs
            Rst.Fields("NClient").Value = NuCl
            Rst.Fields("Nom/Société").Value = NoSo
            Rst.Fields("Prénom/personne contact").Value = PrPc
            Rst.Fields("N°, Rue").Value = NuRu
            Rst.Fields("Code Postal").Value = CoPo
            Rst.Fields("Ville").Value = Vill
            Rst.Fields("Téléphone").Value = Tele
            Rst.Fields("Email").Value = Emai
     
            ' Valider
            Rst.Update
     
        Rst.Close
     
     
            ' Ouvrir la table en lecture/écriture
        Set Rst = CurrentDb.OpenRecordset("Fusion", dbOpenDynaset)
     
            ' Créer un enregistrement dans la table
            Rst.AddNew
     
                ' Alimenter les champs
                Rst.Fields("NSinistre").Value = NuSi
                Rst.Fields("NContrat").Value = NuCo
                Rst.Fields("Date Sinistre").Value = DaSi
                Rst.Fields("NClient").Value = NuCl
                Rst.Fields("Note Sinistre").Value = NoSi
                Rst.Fields("Estimation/Réserve Axa").Value = ReAx
                Rst.Fields("Gestionnaire").Value = NoMi
                Rst.Fields("Branche").Value = Bran
     
     
            ' Valider
            Rst.Update
     
            MsgBox "Mission envoyée, Merci !", vbInformation
     
        Rst.Close
        Rst1.Close
        Set Rst = Nothing
        Set Rst1 = Nothing

    Avec ce code ça ne fonctionne 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
    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
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    Private Sub Commande34_Click()
     
    Dim NuSi As String
    Dim NuCl As String
    Dim NoSo As String
    Dim PrPc As String
    Dim NuRu As String
    Dim NoRu As String
    Dim CoPo As String
    Dim Vill As String
    Dim Tele As String
    Dim Emai As String
    Dim NuCo As String
    Dim DaSi As String
    Dim Gest As String
    Dim NoMi As String
    Dim NoSi As String
    Dim ReAx As String
    Dim Bran As String
    Dim Requete As String
     
    Dim oDb As dao.Database
    Dim oRstClasse As dao.Recordset
    Dim Rst As dao.Recordset
    Dim Rst1 As dao.Database
    Dim strSQL As String
     
     'recupération des info du formulaire
     
    NuSi = Me.Controls("Numéro Sinistre").Value
    NuCl = Me.Controls("Numéro de client").Value
    NoSo = Me.Controls("Nom/Société").Value
    PrPc = Me.Controls("Prénom/Personne de contact").Value
    NuRu = Me.Controls("N°, Rue").Value
    CoPo = Me.Controls("Code Postal").Value
    Vill = Me.Controls("Ville").Value
    Tele = Me.Controls("Téléphone").Value
    Emai = Me.Controls("Email").Value
    NuCo = Me.Controls("Numéro contrat").Value
    DaSi = Me.Controls("Date sinistre").Value
    NoMi = Me.Controls("Gestionnaire").Value
    NoSi = Me.Controls("Note Sinistre").Value
    ReAx = Me.Controls("Reserve Axa").Value
    Bran = Me.Controls("Branche").Value
     
    ' Le client existe?
    Set oDb = CurrentDb
     
        Set Rst1 = Inspecteur_BDD1111009.OpenRecordset("SELECT * FROM Personne WHERE Personne.NClient = NuCl", dbReadOnly)
        Debug.Print Rst1
        If IsNull(Rst1) Then
     
        ' Ouvrir la table en lecture/écriture
        Set Rst = CurrentDb.OpenRecordset("Personne", dbOpenDynaset)
     
            ' Créer un enregistrement dans la table
            Rst.AddNew
     
            ' Alimenter les champs
            Rst.Fields("NClient").Value = NuCl
            Rst.Fields("Nom/Société").Value = NoSo
            Rst.Fields("Prénom/personne contact").Value = PrPc
            Rst.Fields("N°, Rue").Value = NuRu
            Rst.Fields("Code Postal").Value = CoPo
            Rst.Fields("Ville").Value = Vill
            Rst.Fields("Téléphone").Value = Tele
            Rst.Fields("Email").Value = Emai
     
            ' Valider
            Rst.Update
     
        Rst.Close
     
     
            ' Ouvrir la table en lecture/écriture
        Set Rst = CurrentDb.OpenRecordset("Fusion", dbOpenDynaset)
     
            ' Créer un enregistrement dans la table
            Rst.AddNew
     
                ' Alimenter les champs
                Rst.Fields("NSinistre").Value = NuSi
                Rst.Fields("NContrat").Value = NuCo
                Rst.Fields("Date Sinistre").Value = DaSi
                Rst.Fields("NClient").Value = NuCl
                Rst.Fields("Note Sinistre").Value = NoSi
                Rst.Fields("Estimation/Réserve Axa").Value = ReAx
                Rst.Fields("Gestionnaire").Value = NoMi
                Rst.Fields("Branche").Value = Bran
     
     
            ' Valider
            Rst.Update
     
            MsgBox "Mission envoyée, Merci !", vbInformation
     
        Rst.Close
        Rst1.Close
        Set Rst = Nothing
        Set Rst1 = Nothing
     
        Else
         ' Ouvrir la table en lecture/écriture
        Set Rst = CurrentDb.OpenRecordset("Fusion", dbOpenDynaset)
     
            ' Créer un enregistrement dans la table
            Rst.AddNew
     
                ' Alimenter les champs
                Rst.Fields("NSinistre").Value = NuSi
                Rst.Fields("NContrat").Value = NuCo
                Rst.Fields("Date Sinistre").Value = DaSi
                Rst.Fields("NClient").Value = Rst1
                Rst.Fields("Note Sinistre").Value = NoSi
                Rst.Fields("Estimation/Réserve Axa").Value = ReAx
                Rst.Fields("Gestionnaire").Value = NoMi
                Rst.Fields("Branche").Value = Bran
     
     
            ' Valider
            Rst.Update
     
            MsgBox "Mission envoyée, Merci !", vbInformation
     
        Rst.Close
        Rst1.Close
        Set Rst = Nothing
        Set Rst1 = Nothing
        End If
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Comme tu ne détailles pas ce qui ne fonctionne pas, il est difficile de savoir quelles étaient tes intentions avec ce code donc je vais juste répondre à :

    J'aimerais savoir s'il y a un moyen de suivre le code lorsqu'il s'exécute?
    Oui et c'est très simple.

    Tu clique dans la marge à gauche de la 1ère ligne où tu veux commencer à observer le code.
    Cela va mettre un gros point marron sur la ligne et créer ce qu'on appelle un "point d'arrêt".
    Note que certaines lignes n'accepte pas les points d'arrêt donc si cela ne marche pas essaye les lignes au dessus ou en dessous.

    Après tu lances ton code comme d'habitude et Access va s'arrêter sur la ligne du point d'arrêt.

    À partir de ce moment tu peux :
    • Voir le contenu des variables en pointant dessus avec la souris.
    • Exécuter les instructions une à une en appuyant sur la touche [F8].
    • Exécuter les instructions de ce niveau une à une en appuyant sur les touches [Shift][F8].
    • Utiliser la fenêtre d'exécution immédiate en tapant sur [Ctrl][G] pour modifier la valeur d'une ou plusieurs variable ou faire presque toutes les instructions qui n'entrent pas en conflit avec ton code actuel.
    • Continuer l'exécution du code jusqu'à la fin ou jusqu'au prochain point d'arrêt en appuyant sur [F5].


    A+

Discussions similaires

  1. [AC-2016] Lancer une macro Excel a partir de code Access VBA
    Par JFDAccess dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/11/2016, 15h09
  2. [AC-2010] Access - Vba ? problemes sur creation d'une base
    Par anopaname dans le forum Access
    Réponses: 5
    Dernier message: 11/03/2014, 11h08
  3. [WD12] Code Access VBA vers WinDev
    Par Nounours1 dans le forum WinDev
    Réponses: 6
    Dernier message: 19/06/2010, 19h00
  4. [XL-2003] Votre avis sur mon code en VBA ?
    Par [ZiP] dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2010, 13h56
  5. Mon appli Access/Vba: besoin de recul
    Par kilimanjaro dans le forum Access
    Réponses: 4
    Dernier message: 02/11/2005, 11h06

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