PROBLEME DANS ACCESS

XZA1 Messages postés 5 Statut Membre -  
ralag Messages postés 15 Statut Membre -
Bonjour,

ACCESS 2007

J'ai deux tables avec des noms de clients quand le nom de client et la ville sont identiques pas de problème dans ma requete le nom ressort. Mais quand le nom est un peu different
EX EARL DUPOND CHRISTIAN ET DUPOND CHRISTIAN ou autre exemples GRIMAUD VALERIE et GRIMAUD V la rien ne ressort normal. Mais j'aimerai savoir si il existe un moyen de dire si le nom est identique à 50% le faire apparaitre dans ma liste .

Merci de votre aide

3 réponses

  1. Raymond PENTIER Messages postés 58225 Date d'inscription   Statut Contributeur Dernière intervention   17 488
     
    NON.
    0
  2. Merik
     
    Bonjour,

    Je vais tenter de répondre, bien que mes connaissances d'access 2007 soit beaucoup moins vastes que celle de 2003.

    Si vous avez mis en relation vos tables et appliqué l'intégrité référentiel, il vous sera impossible de faire ce que vous souhaitez, à moins de désactiver cette intégrité référentiel, ou bien de saisir exactement bien comme il faut les mêmes Noms et Adresses et tous ce dont vous avez besoin.

    J'espère que cela pourra vous aider.
    Cordialement,
    Merik.
    0
  3. ralag Messages postés 15 Statut Membre 2
     
    Bonjour,
    voiçi une solution avec une fonction VBA et une requête en produit cartésien (sans jointure)

    code VBA :

    Function Fct_Vérif(ZP1, ZP2) As Double

    Dim ZT1() As String
    Dim ZT2() As String
    Dim NB1 As Byte
    Dim NB2 As Byte
    Dim I1 As Byte
    Dim I2 As Byte
    Dim P As Double

    ZT1 = Split(ZP1, " ")
    ZT2 = Split(ZP2, " ")

    NB1 = UBound(ZT1)
    NB2 = UBound(ZT2)

    For I1 = 0 To NB1
    For I2 = 0 To NB2
    If ZT1(I1) = ZT2(I2) Then
    P = P + 1
    End If
    Next I2
    Next I1

    Fct_Vérif = P / (NB1 + 1)

    End Function

    Requête

    SELECT T_1.Code1, T_1.Nom1, T_2.Code2, T_2.Nom2, Fct_Vérif([nom1],[nom2]) AS Pourcent
    FROM T_1, T_2
    WHERE (((Fct_Vérif([nom1],[nom2]))>0.5));

    Le traitement peut être long et n'est pas parfait
    0