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

IHM Discussion :

Gestion des accents pour détecter les doublons [AC-2013]


Sujet :

IHM

  1. #21
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour Robi,

    Ton argumentation est pertinente, mais je pense que tu peux comprendre mon raisonnement puisque toi-même tu l'as eu au début.

    L'apparition d'un simple message est quand même l'indicateur d'un problème potentiel.
    L'utilisateur est informé qu'il faut traiter ce problème.
    Dans mon cas, la connaissance approfondie de la ou des personnes qui utiliseront cette base fait que ce message suffirait probablement à lui seul à traiter le problème.
    Tu dis que le risque est que certains utilisateurs vont plus ou moins l'ignorer, alors ça c'est quand même un peu cavalier comme comportement ! Il y a une alerte, il faut s'en inquiéter.
    Ce n'est pas comme quand on ne fournit pas l'outil de vérification où la, on ne peut blâmer l’utilisateur.
    C'est d'ailleurs justement le but de ce topic, dans le cas de la création d'un doublon seulement à cause d'un accent ajouté ou oublié, je ne considére pas ça comme une erreur imputable à l'utilisateur. Le fait de zapper le message en est en revanche clairement une.

    Je vais quand même essayer d'utiliser ton système, mais je pense que je ne vais pas rendre l'ouverture du formulaire obligatoire. Je vais y réfléchir.

    Question technique : pourquoi le me.refresh au début ?

  2. #22
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Le Me.Refresh est nécessaire pour que la résultat de la recherche dans la table tienne compte de la saisie qui vient d'être effectuée.
    A+
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  3. #23
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour Robi,

    Si je veux que l'enregistrement en cours ne s'affiche pas dans le formulaire ouvert, je retire donc le me.refresh, mais après, l'ouverture du formulaire plante car je me prends une incompatibilité de type. Est-ce normal, ça le fait aussi pour toi ?

  4. #24
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Oui, c'est normal, la fonction sansAccent ne sait pas gérer un champ vide. Je l'ai remarqué et corrigé dans le fichier joint (avec la fonction Nz); C'est aussi pour cela que tu as eu cette erreur précédemment.
    J'ai réléchi à tes souhaits, et aménagé ma proposition : plus de msgBox avant affichage du formulaire, celui-ci la remplaçant. Un message en entête qui s'adapte au champ contrôlé. J'ai ajouté le contrôle avec le même formulaire du champ nomCommercial (pour l'exemple) et sur le formulaire, un bouton d'impression de liste des doublons détectés.
    Bonne journée.
    RL
    Fichiers attachés Fichiers attachés
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  5. #25
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    salut Rag83

    En premier lieu, ce n'est pas parce que tu as ce surnom qu'il faut énerver RobiPMS() ( méfies toi de la fureur des grand singes )
    même si je suis d'accord avec lui tu voulais une boite de dialogue, voilà, mais je conseille de compléter cela en offrant la possibilité d'ouvrir l'écran qu'il te proposait
    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
     
    Private Sub raisonSociale_BeforeUpdate(Cancel As Integer)
        Dim txt_sql As String, txt_erreur As String, ret As Integer
        Dim rs As Recordset
        txt_sql = "select * from T_Commerces where sansAccent(raisonSociale,True)='" & sansAccent(Me.raisonSociale,True) & "'"
        txt_erreur = ""
        Set rs = CurrentDb.OpenRecordset(txt_sql)
        If rs.RecordCount > 0 Then
            rs.MoveFirst
            txt_erreur = "Des doublons potentiels ont été détectés: "
            While Not rs.EOF
                txt_erreur = txt_erreur & rs.nomCommercial & "-" & rs.raisonSociale & vbCrLf
                rs.MoveNext
            Wend
            txt_erreur = txt_erreur & "Confirmez vous ? "
            ret = MsgBox(txt_erreur, vbYesNo + vbCritical, "Oups, êtes vous sûr, c'est pas bô!")
            If ret <> 7 Then
                Cancel = True
            End If
        End If
        rs.Close
        Set rs = Nothing
     
    End Sub
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  6. #26
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Je vous remercie tous les deux, je regarde ça un peu plus tard car je m'absente et je vous donne un retour.

  7. #27
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Salut pyloupylou.
    Est-ce que je m'énerve, moi? OK, juste un peu avec Jipété . Si avec tout ça, tu ne trouves pas ton bonheur, rag83, je descends de mon arbre!!!
    Cdt.
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  8. #28
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 731
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 731
    Points : 15 136
    Points
    15 136
    Par défaut
    Citation Envoyé par RobiPMS Voir le message
    Salut pyloupylou.
    Est-ce que je m'énerve, moi? OK, juste un peu avec Jipété .
    Salut !

    Hé bien il me semble que l'autre jour je ne devais pas être bien réveillé et que j'ai certainement mal interprété la demande d'origine (dans le sens "je cherche les accents et je les supprime"), ce qui m'a fait bondir, tu t'en doutes

    Alors je profite de cette entrée pour rebondir et présenter à tous mes plus sincères excuses pour mon intervention un peu malencontreuse (et qui a pourtant reçu 3 pouces verts !), et je vous présente (un poil en avance) mes meilleurs vœux et vous souhaite plein de bons codes !

    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #29
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Pas de souci Jipété! Et très bons voeux pour l'année nouvelle à tous!
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  10. #30
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Je suis train de tester les dernières modifications, c'est très bien, la correction du plantage sur le champ vide, c’était donc ça, merci Robi !

    Par contre pyloupylou, j'ai une erreur sur ton code à la ligne 12, le rs.nomCommercial : Erreur de compilation: membre de méthode ou de données introuvable.

    Meilleurs vœux à tout le monde aussi avec un peu d'avance !

    Je continue.

    A plus tard.

  11. #31
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    si erreur il y a, c'est que champ il n'y a pas où qu' autrement il s'appelle .... hugh !

    meilleurs futurs voeux à tous
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  12. #32
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Le champ y est et il s'appelle bien comme ça ! Si je supprime le rs.nomCommercial, l'erreur passe sur rs.raisonSociale et si je le supprime aussi elle passe sur le rs.movenext

  13. #33
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    heu

    ah bon le rs.eof fonctionne bien ?
    met rs![nom de la rubrique] à la place des rs.

    autre chose en début de ton ecran mets option explicite et dans le menu débug compile, si il y a une erreur de déclaration il devrait te le dire
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  14. #34
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    rs!nomCommercial et rs!raisonSociale ont l'air de fonctionner mais sur le rs.MoveNext j'ai une erreur 3071 à la vérification du doublon.

    Pour le Option Explicit je le mets toujours.

  15. #35
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    grumf.... ça commence à me crisper....

    chez moi ça fonctionne, (bon c'est vrai que j'avais pas testé )

    essaye ça
    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
    Private Sub raisonSociale_BeforeUpdate(Cancel As Integer)
        Dim txt_sql As String, txt_erreur As String, ret As Integer
        Dim rs As dao.Recordset
        txt_sql = "select * from T_Commerces where sansAccent(trim(T_Commerces.raisonSociale),True)='" & sansAccent(Trim(Me.raisonSociale), True) & "'"
        txt_erreur = ""
        Set rs = CurrentDb.OpenRecordset(txt_sql)
        If rs.RecordCount > 0 Then
            rs.MoveFirst
            txt_erreur = "Des doublons ont été détectés: " & vbCrLf
            While Not rs.EOF
                txt_erreur = txt_erreur & rs!nomCommercial & "-" & rs!raisonSociale & vbCrLf
                rs.MoveNext
            Wend
            txt_erreur = txt_erreur & "Confirmez vous ? "
            ret = MsgBox(txt_erreur, vbYesNo + vbCritical, "Oups, êtes vous sûr")
            If ret <> 7 Then
                Cancel = True
            End If
        End If
        rs.Close
        Set rs = Nothing
     
    End Sub
    ce que j'ai changé:
    Dim rs As dao.Recordset
    txt_sql = "select * from T_Commerces where sansAccent(trim(T_Commerces.raisonSociale),True)='" & sansAccent(Trim(Me.raisonSociale), True) & "'"
    txt_erreur = "Des doublons ont été détectés: " & vbCrLf ( c'est plus joli )
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  16. #36
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour,

    Je suis en train de tester ton dernier code pyloupylou, j'ai toujours une erreur d’exécution 3071 quand je rentre un doublon.

    Ça fonctionne en remplaçant le SQL de la ligne 4 par celui de Robi dans la dernière version qu'il a postée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt_sql = "SELECT * FROM T_Commerces WHERE sansAccent(Nz(raisonSociale, 0),True)=sansAccent('" & Forms!F_Commerces!raisonSociale & "',true)"
    En fait, ton code d'hier était bon aussi avec le SQL ci-dessus et en remplaçant les . par des ! pour le rs (aucune idée de ce que çà change).

    Il me reste maintenant à proposer l'ouverture du formulaire par une msgbox et ce sera terminé.

    Je vous tiens au courant pour la suite.

    Merci à tous les deux !

    Une question, à quoi sert la variable ret ? Pourquoi If ret <> 7 Then ?

  17. #37
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    ta question me pose une interrogation, connais tu le debug ?
    quand tu es dans l'éditeur vba, tu te positionnes sur une ligne et tu appuies sur F9 cela met ta ligne en rouge tu viens de poser un point d'arrêt
    lorsque le programme va arriver à ta ligne, il se met en pause, tu vas avoir la ligne de code en jaune surlignée ( ensuite si tu fais F5 tu lances l’exécution du programme, sans arrêt , F8 en pas à pas )
    si tu sélectionnes le nom d'un champ, et tu cliques bouton droit tu fais ajouter un espion sur le nom du champ que tu viens de sélectionner
    le champ va apparaitre dans la fenêtre espion, et si tu déroules ton prog en pas à pas tu verras les valeurs que prennent tes champs ( et le débug est très instructif )

    fais cela sur le champ ret et déroules le programme, tu verras que ret correspond au code renvoyé par ta msgbox ( au fait il y a F1 aussi sur msgbox pour connaitre les différents codes retours possible ), ils dépendent des types de boutons choisis
    mais sinon <> 7 , 7 correspond à oui , si la valeur est différente je considère que c'est non ( soit clic sur non soit fermeture directe de la boite )

    sinon la différence avec le code de Robi est la prise en compte par lui du null avec nz, et il a raison, car je suppose que dans ta table il y a des raisons sociales de nulles, ce que je n'ai pas chez moi, en fait le problème vient de là
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  18. #38
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonsoir pyloupylou,

    Non je ne connaissais pas le debug, lacune corrigée grâce à toi je te remercie

    Je viens de passer un moment à essayer de comprendre comment ça marche, en effet c'est très instructif. Il y a une chose que je n'ai pas comprise, quand je fais du pas à pas avec F8 et que je passe dans une fonction d'un module, je ne peux plus en sortir, à la fin de la fonction ça revient au début alors que j'aimerais que ça continue dans le code "parent".

    OK pour le ret <>7, en fait c'est la première fois que je le vois écrit comme ça. 7 correspond plutôt à non, non ? En fait ça revient à écrire un classique if msgbox (...) = vbYes ou vbNo c'est bien ça ?

    Pour le code avec le nz c'est bien ça, j'ai des valeurs nulles dans ma table.

    Je continue.

  19. #39
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Rebonsoir,

    J'ai essayé d'appliquer le code en le modifiant un peu pour mon champ nomCommercial.

    Il doit y avoir quelques soucis car peu importe le nombre de doublons existants dans la base, le rs.recordcount n'en compte toujours que 1

    Autre soucis, à l'ouverture de la base, tous les commerces déjà existants peuvent potentiellement être des doublons, ça c'est normal, mais si j'en crée un nouveau puis un autre avec le même nom il n'est pas considéré comme un doublon...

    Qu'est ce qui ne va 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
    Dim txt_sql As String, txt_erreur As String
    Dim rs As Recordset
     
    txt_sql = "SELECT T_Commerces.nomCommercial, T_Commerces.raisonSociale, T_Commerces.codeSiren, T_Commerces.numTiers, T_Commerces.numVoirie, T_VOIES.VOI_LIBCOMPFIL " _
    & "FROM T_VOIES INNER JOIN T_Commerces ON T_VOIES.ID_VOIE = T_Commerces.adresseC1_FK " _
    & "WHERE sansAccent(Nz(nomCommercial, 0),True)=sansAccent('" & Forms!F_Commerces!nomCommercial & "',true);"
    txt_erreur = ""
    Set rs = CurrentDb.OpenRecordset(txt_sql)
     
    If rs.RecordCount > 0 Then
        rs.MoveFirst
        txt_erreur = "Risque de doublon détecté." & vbCrLf & "Ce nom commercial est déjà enregistré pour " & rs.RecordCount & " commerce(s)." & vbCrLf & _
        "Souhaitez-vous afficher la liste détaillée de ce(s) commerce(s) ?" & vbCrLf & "Cliquez sur Oui pour afficher la liste, sur Non pour confirmer la saisie."
        If MsgBox(txt_erreur, vbYesNo + vbExclamation) = vbYes Then
            DoCmd.OpenForm "F_Doublons"
            Forms!F_Doublons.RecordSource = txt_sql
            Forms!F_Doublons.OrderBy = "[nomCommercial] ASC"
            Forms!F_Doublons.OrderByOn = True
        End If
    End If
     
    rs.Close
    Set rs = Nothing
    Ce n'est bien sur pas définitif, j'essaye de procéder par étape pour comprendre et arriver à ce que je veux.

    Merci

  20. #40
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour rag83, pyloupylou.

    Pour que le recordCount retourne effectivement le nombre total d'enregistrements du Recordset, il est préférable de parcourir celui-ci complètement avant de compter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim lgNb As Long     'variable qui sera le nombre d'enregistrements du rs
    Set rs = db.OpenRecordset(txt_sql)
            If rs.EOF Then               
            lgNb = 0
            Else
            rs.MoveLast
            lgNb = rs.RecordCount
            End If
    Après, tu peux continuer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If lgNb> 0 Then
        rs.MoveFirst
        txt_erreur = "Risque de doublon détecté." & vbCrLf & "Ce nom commercial est déjà enregistré pour " & lgNb & " commerce(s)." & vbCrLf & _
        "Souhaitez-vous afficher la liste détaillée de ce(s) commerce(s) ?" & vbCrLf & "Cliquez sur Oui pour afficher la liste, sur Non pour confirmer la saisie."
    Cordialement,
    RL
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Gestion des erreurs : ou trouver les erreurs possibles pour une opération
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/10/2008, 14h33
  2. Réponses: 5
    Dernier message: 15/08/2008, 16h08
  3. Gestion des absences pour les taches.
    Par olator dans le forum SharePoint
    Réponses: 4
    Dernier message: 28/12/2007, 09h53
  4. [SQL-SEVER2005] Gestion des erreurs pour les requêtes
    Par eagleleader dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 16/10/2007, 09h59

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