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 :

problème de communication avec le OLE server


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur Minier Stagiaire
    Inscrit en
    Août 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur Minier Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 12
    Points : 13
    Points
    13
    Par défaut problème de communication avec le OLE server
    Bonjour cher programmeur, aujourd'hui je fais face à un problème qui me laisse perplexe depuis quelque semaines.

    J'ai programmer une base de donnée l'été passé, elle était fonctionnel à ce moment là, et cette semaine je l'ai repris sur un autre poste, pour entré des données et elle m'a sortit le problème suivant:
    The expression On Click you entered as the event property setting produced the following error: A problem occured while Projet Qualité Forage-Sautage was communicating with OLE server or ActiveX Control
    Face à ce problème, j'ai faite les essais suivant:
    • J'ai vérifié tous les champs.
    • J'ai aussi enlevé tous les accents


    Je ne suis pas un développeur chevronné. Donc une erreur qui pourrait vous apparaitre comme étant évidente ne l'est pas nécessairement pour moi. Merci d'être compréhensif.

    Le code VBA en question est le suivant:
    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
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    Private Sub enregistrer_Click()
        '   Declaration pour les differentes base de donnees soit (Forage, Sautage et Notes)
        Dim db_forage       As DAO.Database
        Dim db_sautage      As DAO.Database
        Dim db_notes        As DAO.Database
        Dim db_polygones    As DAO.Database
     
        '   Declaration des requetes pour chacune des base de donnees
        Dim rs_Forage       As DAO.Recordset
        Dim rs_Sautage      As DAO.Recordset
        Dim rs_Notes        As DAO.Recordset
        Dim rs_polygone     As DAO.Recordset
     
        '   Declaration de variable utiles
        Dim bool_Forage     As Boolean
            '   Ici on verifie si on a assez de donnee pour ajouter une entre de dans le forage
            If (Not IsNull(L_plannifier) And Not IsNull(L_foree)) Then
                bool_Forage = True
            End If
        Dim bool_Sautage    As Boolean
            '   Ici on verifie si on a assez de donnee pour ajouter une entre de dans le sautage
            If (Not IsNull(Nb_Amorce) Or Not IsNull(L_av_gazing) Or Not IsNull(L_ap_gazing) Or Not IsNull(L_bourrage)) Then
                MsgBox "sautage true"
                bool_Sautage = True
            End If
        Dim bool_Notes      As Boolean
            '   Ici on verifie si on a assez de donnee pour ajouter une entre de dans les notes
            If (Type_recouvrement = Not Empty Or Notes_A = Not False Or Notes_B = Not False Or Notes_C = Not False Or Notes_D = Not False Or Notes_E = Not False Or Notes_F = Not False Or Notes_G = Not False Or Notes_H = Not False Or Notes_I = Not False Or Notes_J = Not False Or Notes_K = Not False Or Notes_L = Not False Or Notes_M = Not False Or Notes_N = Not False Or Notes_O = Not False Or Notes_P = Not False Or Notes_Q = Not False Or Notes_R = Not False) Then
                bool_Notes = True
            End If
        Dim temp_No_Sautage As String
        Dim temp_Date_approx    As String
     
       Set db = CurrentDb
        '   Ouvrir les tables de donnees pour integrer les donnees
        Set db_forage = db.OpenRecordset("SELECT * FROM Table_Forage WHERE No_Sautage = '" & Me.No_Sautage & "'", dbOpenDynaset)
        Set db_sautage = db.OpenRecordset("SELECT * FROM Table_Sautage WHERE No_Sautage = '" & Me.No_Sautage & "'", dbOpenDynaset)
        Set db_notes = db.OpenRecordset("SELECT * FROM Table_Notes WHERE No_Sautage = '" & Me.No_Sautage & "'", dbOpenDynaset)
        Set db_polygone = db.OpenRecordset("Table_des_polygones", dbOpenDynaset)
     
        '   Premiere verification: voir si le numero de sautage et la date sont la, on veut pas de base de donnee fuck up!!
        If (Not IsEmpty(Me![No_Sautage]) And Not IsEmpty(Me![Date_approx])) Then
            MsgBox "In premier If"
     
            '   Si le numero de sautage existe et que la date existe aussi
            '   Alors j'attribue ces deux valeur a deux variables temporaires pour les remetres dans les case apres avoir vide tous les champs.
            temp_No_Sautage = Me![No_Sautage]
            temp_Date_approx = Me![Date_approx]
     
            '   Si le polygone de forage n'existe pas deja on l'ajoute à la base de donnee
            rs_polygone.FindFirst "[No_Sautage] = '" & Me.No_Sautage & "'"
            If rs_polygone.NoMatch Then
                With rs_polygone
                    .AddNew
                    ![No_Sautage] = Me.No_Sautage
                    ![Date_approx] = Me.Date_approx
                    .Update
                    .Close
                End With
            End If
            '   On vide la requete
            Set rs_polygone = Nothing
     
            '   Verifier si les entre importante existe.
            '   Pour eviter les entrees vide et s'assure des meilleurs resultats statistiques.
            If (Not IsNull(No_Trou) And ((bool_Forage = True) Or (bool_Sautage = True) Or (bool_Notes = True))) Then
                MsgBox "In Add if"
     
                '   Premier check up: Le Forage
                '   Recherche si l'entre existe deja
                rs_Forage.FindFirst "[No_Trou] = '" & Me.No_Trou & "'"
                '   Ici, je m'assure qu'il y ait au moins un des champs avec une valeurs pour eviter les entrees vide dans la base de donnees.
                If (rs_Forage.NoMatch And bool_Forage = True) Then
                    With rs_Forage
                        .AddNew
                        ![No_Sautage] = Me.No_Sautage
                        ![No_Trou] = Me.No_Trou
                        ![L_plannifier] = Me.L_plannifier
                        ![L_foree] = Me.L_foree
                        ![conf_L_foree] = Me.conf_L_foree
                        ![reforage_demander] = Me.reforage_demander
                        ![L_ajuste] = Me.L_ajuste
                        ![conf_L_ajuste] = Me.conf_L_ajuste
                        .Update
                        .Close
                    End With
                Else
                    MsgBox "[Forage] l'entre existe deja"
                End If
                Set rs_Forage = Nothing
                '   Entrer les donnees dans la base de donnees de sautage
                '   Recherche si l'entre existe deja
                rs_Sautage.FindFirst "[No_Trou] = '" & Me.No_Trou & "'"
                '   Ici, je m'assure qu'il y ait au moins un des champs avec une valeurs pour eviter les entrees vide dans la base de donnees.
                If (rs_Sautage.NoMatch And bool_Forage = True) Then
                    With rs_Sautage
                        .AddNew
                        ![No_Sautage] = Me.No_Sautage
                        ![No_Trou] = Me.No_Trou
                        ![Nb_Amorce] = Me.Nb_Amorce
                        ![conf_Pos_Amorce] = Me.conf_Pos_Amorce
                        ![L_av_gazing] = Me.L_av_gazing
                        ![L_ap_gazing] = Me.L_ap_gazing
                        ![conf_granulo] = Me.conf_granulo
                        ![L_bourrage] = Me.L_bourrage
                        ![conf_L_bourrage] = Me.conf_L_bourrage
                        .Update
                        .Close
                    End With
                Else
                    MsgBox "[Sautage] l'entre existe deja"
                End If
     
     
                '   Entrer les donnees dans la base de donnees des de notes
                '   Recherche si l'entre existe deja
                rs_Notes.FindFirst "[No_Trou] = '" & Me.No_Trou & "'"
                '   Ici, je m'assure qu'il y ait au moins un des champs avec une valeurs pour eviter les entrees vide dans la base de donnees.
                If (rs_Notes.NoMatch And bool_Notes = True) Then
                    With rs_Notes
                        .AddNew
                        ![No_Sautage] = Me.No_Sautage
                        ![No_Trou] = Me.No_Trou
                        ![Type_recouvrement] = Me.Type_recouvrement
                        ![conf_recouvrement] = Me.conf_recouvrement
                        ![Notes_A] = Me.Notes_A
                        ![Notes_B] = Me.Notes_B
                        ![Notes_C] = Me.Notes_C
                        ![Notes_D] = Me.Notes_D
                        ![Notes_E] = Me.Notes_E
                        ![Notes_F] = Me.Notes_F
                        ![Notes_G] = Me.Notes_G
                        ![Notes_K] = Me.Notes_K
                        ![Notes_L] = Me.Notes_L
                        ![Notes_M] = Me.Notes_M
                        ![Notes_N] = Me.Notes_N
                        ![Notes_O] = Me.Notes_O
                        ![Notes_P] = Me.Notes_P
                        ![Notes_Q] = Me.Notes_Q
                        ![Notes_R] = Me.Notes_R
                        .Update
                        .Close
                    End With
                Else
                    MsgBox "[Notes] l'entre existe deja"
                End If
                Set rs_Notes = Nothing
     
            End If
     
        Else
            '   On avertit l'utilisateur qu'il y a un probleme.
            MsgBox "Complete le numero de sautage ET la date du début de forage!"
        End If
     
     
        '   Remettre les champs vide
        Dim X As Control
        For Each X In Me.Controls
            If TypeOf X Is TextBox Or TypeOf X Is ComboBox Or TypeOf X Is CheckBox Then
                X = Null
            End If
        Next X
     
        Me.No_Sautage = temp_No_Sautage
        Me.Date_approx = temp_Date_approx
     
     
    End Sub
    Merci de votre aide.

    Sincèrement,
    Aleks

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,
    Si tu utilises des active X la solution est peut-être là.
    http://www.developpez.net/forums/d12...our-kb2597986/
    Lit bien tout les posts pour bien comprendre ton problème.

    Cordialement,

Discussions similaires

  1. Problème de communication avec Postfix
    Par capadona dans le forum Réseau
    Réponses: 2
    Dernier message: 13/08/2009, 09h39
  2. postfix : Problème de communication avec orange.fr
    Par DrDam dans le forum Administration système
    Réponses: 0
    Dernier message: 19/06/2009, 12h56
  3. Problème de communication avec un port série
    Par hélène2 dans le forum C#
    Réponses: 8
    Dernier message: 22/04/2009, 09h26
  4. Problème de connexion avec BDD sql server 2008
    Par Kalion dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/03/2009, 09h48
  5. Problème Connection Jbuilder avec MS SQL Server 2000
    Par kchami77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 23h29

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