#1 Tue 27 November 2007 15:53
- Olam
- Juste Inscrit !
- Date d'inscription: 20 Jul 2007
- Messages: 2
problème correspondance adresse access
Bonjour à tous,
j'ai 2 tables sous access:
- 1 table avec un champ adresse de référence. Ce champ est la résultat de la concaténation du code INSEE (ex:990000), du numéro de voie (ex:3) et du libellé de rue (ex:RUE DU COMMERCE). Le champ résultat donne 990000 \ 3 RUE DU COMMERCE
- 1 table d'importation de données avec un champ adresse construit de la même façon que le champ adresse référence. Le problème est que le champ d'adresse de la table import ne correspond pas toujours au champ adresse de la table de référence.
Je souhaite développer un code (vba) qui permet de faire correspondre les enregistrements du champ adresse de la table import avec les enregistrements les plus proches du champ adresse de la table de référence pour pouvoir réaliser les corrections nécessaires.
ex: Faire correspondre 990000 \ 3 RUE DU COMERCE (table import) avec 990000 \ 3 RUE DU COMMERCE.
Avez-vous des pistes pour le développement d'un tel code?
Dernière modification par Olam (Wed 28 November 2007 09:18)
Hors ligne
#2 Tue 27 November 2007 20:40
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3197
- Site web
Re: problème correspondance adresse access
Bonjour,
- 1 table avec un champ adresse de référence. Ce champ est la résultat de la concaténation du code INSEE (ex:990000), du numéro de voie (ex:6) et du libellé de rue (ex:RUE DU COMMERCE). Le champ résultat donne 990000 \ 3 RUE DU COMMERCE
C'est une mauvaise idée car :
-Les champs texte sont limités à 255 caractères
-C'est plus compliquer ensuite pour faire ce que vous souhaitez.
En général il vaut mieux garder tous les champs originaux et les concaténer éventuellement par le code pour faire un présentation "graphique" dans un contrôle texte par exemple.
De plus votre exemple est "corrompu" (au sens informatique) je ne vois pas le code voie "6" dans la chaîne concaténée.
Il faut à mon avis recomposer vos données. Si vous ne possédez pas la décomposition en champs élémentaires (insee, codevoie, libellevoie,numvoie) pour la table import, il vous faut alors les recréer par décomposition de la chaîne.
Il vous sera ensuite possible de paramétrer des requêtes. pour comparer les noms de rue, trouver les code insee inexistant etc ...
Avant d'implementer une comparaison "intelligente" de chaîne il est préférable d'enlever toutes les adresses qui sont ok, ensuite sur ce qui reste on utilise des requêtes de type "commence par " ou "fini par" pour trouver s'il existe une ou des adresses qui correspondent aux critères.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne