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 :

Programme ne répond plus ?


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut Programme ne répond plus ?
    Bonjour,

    Je suis toujours dans ma problématique de dédoublonnage sur des gros fichiers : 90 000 adresses.
    Je lance le code de nuit : Access se met en "Ne répond plus...".
    Rien d'inquiétant, mais le lendemain matin ( + 14 heures de traitement) j'ai toujours le même problème.
    Question : La présence de ce message le lendemain donne l'indication que la procédure n'est pas finie ? que s'est planté ? Est ce que la présence de ce message dès le début du traitement pénalise le temps d'execution ? Peut on éviter ce message ? Peut on faire dérouler la procédure jusqu'au bout sans que celle ci s'arrête ? La taille de la Base a de l'importance (il vaut mieux compacter ) ?
    Merci de vos réponses toujours bien utiles

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par ALEXM
    Bonjour,
    ...
    Je lance le code de nuit : Access se met en "Ne répond plus...".
    Rien d'inquiétant, mais le lendemain matin ( + 14 heures de traitement) j'ai toujours le même problème.
    Question : La présence de ce message le lendemain donne l'indication que la procédure n'est pas finie ?
    possible.
    que s'est planté ?
    Certainement
    Est ce que la présence de ce message dès le début du traitement pénalise le temps d'execution ?
    En général, le traitement est toujours en cours mais tu boucles à l'infini donc il te met ce message.
    Peut on éviter ce message ?
    En vérifiant que ton code fait ce qu'il doit faire et s'arrêtera au bon moment en fonction du critère d'arrêt.
    Peut on faire dérouler la procédure jusqu'au bout sans que celle ci s'arrête ?
    Pas compris... si tu exécutes un code : il va se dérouler jusqu'à que tu atteignes la fin.
    La taille de la Base a de l'importance (il vaut mieux compacter ) ?
    Pas spécialement.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup,

    Ma procédure tourne bien jusqu'à 30 000 enregistrements , et s'arrête bien à la fin. Donc pour 90 000 doit il finir ou bien il boucle à l'infini ??
    Merci de votre avis

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Tout dépend le code : s'il y a un critère d'arrêt sur une boucle, etc...
    et s'arrête bien à la fin. Donc pour 90 000 doit il finir ou bien il boucle à l'infini ??
    C'est presque contradictoire.
    Donc : les 90000 enregistrements sont traités mais il continue le traitement. Donc ça revient à ce que je dis : un critère d'arrêt d'une boucle ne doit pas être le bon.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci de votre réponse, mais autant sur 30 000 enregistrements je peux dire qu'il va jusqu'au bout de traitement donc tout se finit bien, autant sur 90 000
    après avoir travaillé toute la nuit, quand je stoppe la procédure, Access n'a pas été jusqu'au bout : je peux le vérifier sur des enregistrements test.
    Donc ma question : si je laisse travailler Access 24 heures ira-t-il jusqu'au bout?

    Merci de votre avis

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je pense.
    Mais s'il met 1 heure pour 30000... il ne devrait pas mettre beaucoup plus de temps.

    Essaie de faire l'essai sur l'ensemble de tes enregistrements en mettant des Debug.Print au niveau du compteur pour avoir le nombre d'enregistrement, + un compteur pour le temps de traitement. Il y a un code dans les sources

    Ton code est-il optimisé ??

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Je n'ai toujours pas de réponse à mon temps de traitement.
    Je n'arrive pas à mettre non plus le timer, je ne suis pas assez compétent pour mettre ce code timer en place, je l'ai bien vu dans la FAQ.
    Merci si vous pouvez pour mon code me donner votre avis :
    Pour 700 enregistrements la réponse se fait en 17 secondes.
    Cela marche correctement jusqu'à une table de 15 000 lignes, difficilement
    sur 30 000 et plus de réponse à partir de 60 000 même en laissant le code se dérouler 14 heures ....

    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
     Option Compare Database
     
     
    Public Sub Commande12B_Click()
    'Procédure de dédoublonnage qui compare chaque champ sur Raison sociale, Ville, CP, adresse
     Dim MaBd As Database
    Dim MyRst As Recordset
    Dim DptOk As String
    Dim Nb_Enr As Long, x As Long, l As Long, k As Long
    Dim Valeur As String, CurEnrg1 As Variant, CurEnrg2 As Variant, LIBAD As String, DP As String, Valvil As String, Str As String, VAL As Integer
    Set MaBd = CurrentDb
    Set tb = MaBd.TableDefs!sd
     
    Set fi = tb.CreateField("Flag1", dbLong)
    Set fi = tb.CreateField("Flag", dbText)
    Set fi = tb.CreateField("Flag3", dbLong)
     
    With tb
    .Fields.Append .CreateField("Flag1", dbLong)
    .Fields.Append .CreateField("Flag", dbText)
    .Fields.Append .CreateField("Flag3", dbLong)
     
     End With
     
    Set MyRst = MaBd.OpenRecordset("sd", dbOpenDynaset)
     
      If MyRst.Bookmarkable Then
        MyRst.MoveLast
        Nb_Enr = MyRst.RecordCount
        MyRst.MoveFirst
     
        For x = 1 To Nb_Enr - 1
     
            CurEnrg1 = MyRst.Bookmark
            ' rs = Raison sociale
            If Not IsNull(MyRst!rs) Then
            Valeur = MyRst!rs
            End If
            If Not IsNull(MyRst!LIBADR) Then
            LIBAD = Right(MyRst!LIBADR, 5)
            End If
            'ACHEM = Ville
            If Not IsNull(MyRst!ACHEM) Then
            Valvil = Left(MyRst!ACHEM, 5)
            End If
            'CDPOS : Code postal
            If Not IsNull(MyRst!CDPOS) Then
            DP = Left(MyRst!CDPOS, 3)
            End If
     
            MyRst.MoveNext
     
      'Je rentre dans la boucle qui compare chaque champ à la totalité des autres champs de la base
      'Sur les 3 premiers caractères Code Postal, 5 derniers caractères ville, et début position + fin de position Raison sociale
     
       Do
       k = Round((Len(MyRst!rs) * 0.66), 0)
       l = Round((Len(Valeur) * 0.66), 0)
         If DP = Left(MyRst!CDPOS, 3) And Valvil = Left(MyRst!ACHEM, 5) And LIBAD = Right(MyRst!LIBADR, 5) And _
       (Left(MyRst!rs, 4) = Left(Valeur, 4) Or Right(MyRst!rs, l) = Right(Valeur, k)) Then
     
            If IsNull(MyRst!Flag1) Then
                        CurEnrg2 = MyRst.Bookmark
                        MyRst.Edit
                        MyRst!Flag1 = x
                        MyRst!Flag = "N"
                        MyRst!Flag3 = k
                        MyRst.Update
                        MyRst.Bookmark = CurEnrg1
                        MyRst.Edit
                        MyRst!Flag1 = x
                        MyRst.Update
                        MyRst.Bookmark = CurEnrg2
            End If
         End If
                MyRst.MoveNext
     
            Loop Until MyRst.EOF
     
             MyRst.MoveFirst
         MyRst.Move x
             Next x
             End If
     
     
            MyRst.Close
     
    End Sub

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    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
    Public Sub Commande12B_Click()
    'Procédure de dédoublonnage qui compare chaque champ sur Raison sociale, Ville, CP, adresse
    Dim MaBd As Database
    Dim MyRst As Recordset
    Dim DptOk As String
    Dim Nb_Enr As Long, x As Long, l As Long, k As Long
    Dim Valeur As String, CurEnrg1 As Variant, CurEnrg2 As Variant, LIBAD As String, DP As String, Valvil As String, Str As String, VAL As Integer
    Set MaBd = CurrentDb
    Set tb = MaBd.TableDefs!sd
     
    Set fi = tb.CreateField("Flag1", dbLong)
    Set fi = tb.CreateField("Flag", dbText)
    Set fi = tb.CreateField("Flag3", dbLong)
     
    With tb
        .Fields.Append .CreateField("Flag1", dbLong)
        .Fields.Append .CreateField("Flag", dbText)
        .Fields.Append .CreateField("Flag3", dbLong)
     
    End With
     
    Set MyRst = MaBd.OpenRecordset("sd", dbOpenDynaset)
     
    If MyRst.Bookmarkable Then
        MyRst.MoveLast
        Nb_Enr = MyRst.RecordCount
        MyRst.MoveFirst
     
        For x = 1 To Nb_Enr - 1
            cAnalyse.ajouterMarqueur "*** MettreAJourFax ***" 
            CurEnrg1 = MyRst.Bookmark
            ' rs = Raison sociale
            If Not IsNull(MyRst!rs) Then
                Valeur = MyRst!rs
            End If
            If Not IsNull(MyRst!LIBADR) Then
                LIBAD = Right(MyRst!LIBADR, 5)
            End If
            'ACHEM = Ville
            If Not IsNull(MyRst!ACHEM) Then
                Valvil = Left(MyRst!ACHEM, 5)
            End If
            'CDPOS : Code postal
            If Not IsNull(MyRst!CDPOS) Then
                DP = Left(MyRst!CDPOS, 3)
            End If
     
            MyRst.MoveNext
     
      'Je rentre dans la boucle qui compare chaque champ à la totalité des autres champs de la base
      'Sur les 3 premiers caractères Code Postal, 5 derniers caractères ville, et début position + fin de position Raison sociale
     
            Do
                k = Round((Len(MyRst!rs) * 0.66), 0)
                l = Round((Len(Valeur) * 0.66), 0)
                If DP = Left(MyRst!CDPOS, 3) And Valvil = Left(MyRst!ACHEM, 5) And LIBAD = Right(MyRst!LIBADR, 5) And _
       (Left(MyRst!rs, 4) = Left(Valeur, 4) Or Right(MyRst!rs, l) = Right(Valeur, k)) Then
     
                    If IsNull(MyRst!Flag1) Then
                        CurEnrg2 = MyRst.Bookmark
                        MyRst.Edit
                        MyRst!Flag1 = x
                        MyRst!Flag = "N"
                        MyRst!Flag3 = k
                        MyRst.Update
                        MyRst.Bookmark = CurEnrg1
                        MyRst.Edit
                        MyRst!Flag1 = x
                        MyRst.Update
                        MyRst.Bookmark = CurEnrg2
                    End If
                End If
                MyRst.MoveNext
     
            Loop Until MyRst.EOF
            MyRst.MoveFirst
            MyRst.Move x
            cAnalyse.terminerMarqueur "*** MettreAJourFax ***" 
            cAnalyse.rapportDebug
        Next x
    End If
     
    MyRst.Close
     
    End Sub
    J'ai posé le code concernant le code de la FAQ.
    Tu n'as plus qu'à copier les classes dans un module.


    j'ai du mal à saisir ce que fait ton code mais à priori tu as testé au fur et à mesure ce qu'il faisait.
    Par contre j'aimerais savoir pourquoi tu as mis ces lignes ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            MyRst.MoveFirst
            MyRst.Move x
    Tu fais un movefirst (donc retour au 1er enregistrement du recordset puis un move x vers un autre enregistrement... autant faire directement
    tb n'est pas déclaré
    fi non plus

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    tu sembles avoir un pb d'optimisation

    commence par vérifier les options de verrouillage
    c'est un traitement de nuit accès unique pas de verrouillage

    essaye de détecter le temps pour traiter 30000 enregistrements
    le temps pour traiter 90000 est si j'ai bien compris 9 fois supérieurs

    ajoute un compteur et prevoit un debug.print tous les 1000 traitements
    du compteur et de time au moins tu sauras où tu en est

    regardes tes index et ajoutes en sur tous les champs traités

    et surtout c'est quoi le sql de sd ??

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Bonsoir,

    Pour répondre : Je n'ai pas utilisé dans mon code l'Option Explicit, c'est la raison pour laquelle je n'avais pas de message d'erreur de non déclaration.
    A ce propos comment je déclare fi ?
    Je suis désolé de mon incompétence mais je n'arrive toujours pas à faire fonctionner le compteur. Comment dois je formuler les "classes" dans mon nouveau module?

    Pour le "SD" , il n'y a pas de SQL, c'est une table, j'utilise Recordset pour
    pouvoir utiliser "Bookmark".

    Merci de vos réponses en tout cas.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    J'ai réussi à faire tourner le programme sur 90000 rows, en lancant le Vendredi
    soir du bureau, Lundi Matin j'ai eu l'agréable surprise de voir que tout s'est bien terminé.
    Par contre je n'arrive pas à mettre ne place Timer. J'ai bien créé les modules de classe ClsMarqueur et CLsMarqueurs, mais cela ne fonctionne pas :
    Message d'erreur 424 Objet Requis sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cAnalyse.ajouterMarqueur "*** MettreAJourFax ***"

    Meric si vous pouiviez me dépanner.
    Et merci une fois de plus de votre aide

  12. #12
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    As tu bien
    1. créé un module de classe appelé clsMarqueur
    2. créé un module de classe appelé clsMarqueurs

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Oui j'ai bien créé ces 2 modules de classe.
    J'ai recopié les chaque code présent dans la FAQ dans le module correspondant .
    Cela dit c'est bien la première fois que j'utilise un module de classe.
    Peut-être je fais mal quelquechose.

    Merci!

    PS ci joint modules recopiés :

    ClsMarqueur :

    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
    Option Compare Database
     
     
    Option Explicit
     
    Private Declare Function GetTickCount Lib "kernel32" () As Long
     
    Private Nom As String
    Private Debut As Long
    Private Fin As Long
     
    Private Sub Class_Initialize()
        Debut = GetTickCount
    End Sub
     
    Public Property Get lDebut() As Long
        Let lDebut = Debut
    End Property
     
    Public Property Get lFin() As Long
        Let lFin = Fin
    End Property
     
    Public Sub SetFin()
        Fin = GetTickCount
    End Sub
     
    Public Function Duree() As Long
        Duree = Fin - Debut
    End Function
     
    Public Sub lNom(ByVal pNom As String)
       Nom = pNom
    End Sub
     
    Public Function getNom() As String
        getNom = Nom
    End Function
    clsMarqueurs


    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
    Option Compare Database
     
     
    Option Explicit
     
    Dim Marqueurs As New Collection
     
    Private Sub Class_Initialize()
        Set Marqueurs = New Collection
    End Sub
     
    Public Sub ajouterMarqueur(ByVal pNomMarqueur As String)
        Marqueurs.Add New CLSMarqueur, pNomMarqueur
        Marqueurs(pNomMarqueur).lNom (pNomMarqueur)
    End Sub
     
    Public Sub terminerMarqueur(ByVal pNomMarqueur As String)
        Marqueurs.Item(pNomMarqueur).SetFin
    End Sub
     
    Public Function dureeMarqueur(ByVal pNomMarqueur As String) As String
        dureeMarqueur = Marqueurs.Item(pNomMarqueur).sDuree
    End Function
     
    Private Sub Class_Terminate()
        Set Marqueurs = Nothing
    End Sub
     
    Public Sub rapportDebug()
        Dim mqr As CLSMarqueur
     
        For Each mqr In Marqueurs
            Debug.Print mqr.getNom & " : " & mqr.Duree & "ms"
        Next
    End Sub

  14. #14
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Quand je t'ai placer les lignes pour créer un marquer et le terminer , j'ai oublier de mettre la déclaration suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim cAnalyse As New clsMarqueurs

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Re bonjour,

    J'ai bien ajouté cette déclaration, par contre j'ai ce nouveau message d'erreur
    sur cette même ligne :

    Erreur d'execution '457'
    Cette clé est déjà associée à un élément de cette collection

    Désolé de vous embêter à nouveau !
    Merci

  16. #16
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Et là ??
    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
    Public Sub Commande12B_Click()
    'Procédure de dédoublonnage qui compare chaque champ sur Raison sociale, Ville, CP, adresse
    Dim MaBd As Database
    Dim MyRst As Recordset
    Dim DptOk As String
    Dim Nb_Enr As Long, x As Long, l As Long, k As Long
    Dim Valeur As String, CurEnrg1 As Variant, CurEnrg2 As Variant, LIBAD As String, DP As String, Valvil As String, Str As String, VAL As Integer
     
    Dim cAnalyse As New clsMarqueurs
     
    Set MaBd = CurrentDb
    Set tb = MaBd.TableDefs!sd
     
    Set fi = tb.CreateField("Flag1", dbLong)
    Set fi = tb.CreateField("Flag", dbText)
    Set fi = tb.CreateField("Flag3", dbLong)
     
    With tb
        .Fields.Append .CreateField("Flag1", dbLong)
        .Fields.Append .CreateField("Flag", dbText)
        .Fields.Append .CreateField("Flag3", dbLong)
     
    End With
     
    Set MyRst = MaBd.OpenRecordset("sd", dbOpenDynaset)
     
    cAnalyse.ajouterMarqueur "*** Dédoublonnage ***" 
     
    If MyRst.Bookmarkable Then
     
        MyRst.MoveLast
        Nb_Enr = MyRst.RecordCount
        MyRst.MoveFirst
     
        For x = 1 To Nb_Enr - 1
     
    ....
    ....
        Next x
    End If
     
    cAnalyse.terminerMarqueur "*** Dédoublonnage ***" 
    cAnalyse.rapportDebug     
     
    MyRst.Close
     
    End Sub

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut Message pour KIKOF
    Bonjour,


    Désolé de vous déranger à nouveau mais je n'ai toujours pas de réponse pour pour mon message d'erreur pour mon Timer. Ci vous pouviez juste me d"bloquer!
    Je suis très interessé de faire fonctionner cette procédure.
    Encore une fois Merci!

  18. #18
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    J'ai testé le code : il fonctionne.

    1. tu postes ton code
    2. tu identifies la ligne qui pose problème
    3. tu indiques le message d'erreur

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Bonjour !
    Excusez moi , je n'ai pas l'habitude je n'ai pas vu qu'il y avait une page 2,
    j'ai vu que vous aviez répondu hier.
    Donc j'ai testé, je n'ai plus de message d'erreur, par contre je n'ai rien qui s'affiche. COmme je n'ai jamais mis un timer , dois je paramétrer quelquechose pour afficher le Timer?

    Merci encore une fois

  20. #20
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Le temps s'affiche dans la fenêtre de débogage que tu peux afficher uniquement si tu te trouves dans un module

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. mysql_real_connect()_ le programme ne répond plus
    Par wilfryjules dans le forum C++
    Réponses: 2
    Dernier message: 25/01/2014, 21h48
  2. Programme ne répond plus.
    Par twizell dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 14/11/2005, 19h46
  3. Le dataset.bof ne répond plus.
    Par fplanglois dans le forum Bases de données
    Réponses: 6
    Dernier message: 23/03/2004, 09h45

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