[ACCESS] Requêtes mise à jour

Requêtes mise à jour [ACCESS] - Logiciels - Windows & Software

Marsh Posté le 23-06-2008 à 20:23:07    

Salut,
 
Dans le but d'uniformiser les adresses encodées dans une table sous Access, les "rue" doivent être remplacés par "r", les "avenue" par "av", etc...
 
Le table est assez lourde étant donné qu'elle comporte plus de 16000 enregistrements. Jusqu'ici j'utilisais tout simplement des rechercher/remplacer directement dans la table.
J'aimerais avoir une solution plus souple. J'ai pensé aux requêtes mise à jour. Mais, d'après le peu que j'en sais, elles remplacent la totalité du champ visé, et non pas une partie comme j'ai besoin. Par ex "rue de la paix" deviendrait tout simplement "r" alors qu'il faut "r de la paix"
 
Une solution à ce pb ?

Reply

Marsh Posté le 23-06-2008 à 20:23:07   

Reply

Marsh Posté le 24-06-2008 à 10:17:43    

Bonjour
 
Il te "suffit" de créer une fonction qui va regarder si "rue" est dans la chaine a traiter, si oui, tu supprimes "rue" et mets "r" a la place plus le reste de ta chaine. Et tu mets cette fonction(chaineatraiter) dans ta requete mise a jour.
En fonction de tes chaines, tu as aussi la possibilité de virer le premier mot.
 
Donc bah la solution, c'est de coder hein
 
Tu as une table du referentiel des type de voie a modifier ?
Quelle version d'access ?
 
Cordialement

Message cité 1 fois
Message édité par SuppotDeSaTante le 24-06-2008 à 10:22:48

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 24-06-2008 à 12:58:36    

SuppotDeSaTante a écrit :

Bonjour
 
Il te "suffit" de créer une fonction qui va regarder si "rue" est dans la chaine a traiter, si oui, tu supprimes "rue" et mets "r" a la place plus le reste de ta chaine. Et tu mets cette fonction(chaineatraiter) dans ta requete mise a jour.
En fonction de tes chaines, tu as aussi la possibilité de virer le premier mot.
 
Donc bah la solution, c'est de coder hein
 
Tu as une table du referentiel des type de voie a modifier ?
Quelle version d'access ?
 
Cordialement


 
Hi Dje
 
Oui sauf que je ne comprends pas son truc.Il cherche une solution plus simple mais en codant!J'avais pensé à un truc du genre sans connaître access mais un tout petit peu SQL: Update table set nom de colonne='nom abrégé' where nom de colonne='nom complet'.Le seul hic avec ce code est que toute la chaîne de caractères va être remplacée.

Reply

Marsh Posté le 24-06-2008 à 14:20:31    

Salut Tam ;)
 
Bah le mieux c'est justement de recréer la chaine a l'aide de InStr ou de Mid puis de faire la requete mise a jour.
Ou alors, comme je lui demande, si a chaque fois le type de voie = le 1er mot, il suffit de virer le premier mot et de remplacer par le mnémonyque.
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 25-06-2008 à 16:11:50    

Salut,
 
Merci à vous mais ça dépasse de LOIN mes connaissances d'Access (2000 au fait). Faudra que je me mette au VBA alors ? :-)

Reply

Marsh Posté le 25-06-2008 à 16:44:16    

Re
 
Oui ou, comme je suis dans de bonne conditions, mes regles etant passées, tu peux faire parvenir le fichier mdb, on te code ca, on explique, on en reparle et pis roule bouzoule ;)
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 27-06-2008 à 17:03:42    

Ok, je vais faire une version "light" de la table alors, ne pouvant évidement pas faire sortir les données confidentielles :-)

Reply

Marsh Posté le 01-07-2008 à 15:12:58    

Pas de souci, on est tout ouie :d


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 07-07-2008 à 22:21:37    

Voilà, un fichier mdb avec juste la table (FSIG) purgée de ses enregistrements.
 
le changement doit se faire dans les champs RUE et RUE2  ;)  
 
http://mk0.ti1ca.com/78g0an9e.jpg
 

Reply

Marsh Posté le 08-07-2008 à 15:48:31    

Hello
 
euh...  
Une table vide de chez vide ca sert pas a grand chose hein...
Il aurait au moins fallu les champs des adresses pour voir ce que contenait tes données... Pour justement ajusté une/des fonctions...
La on a que le dictionnaire, et pour ma part, je peux pas grand chose...
Pour etre light c'est du light !  :lol:  
 
Cordialement


Message édité par SuppotDeSaTante le 08-07-2008 à 15:48:52

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 08-07-2008 à 15:48:31   

Reply

Marsh Posté le 09-07-2008 à 14:39:08    


 
ok, la voici avec quelques enregistrements
 
http://mk4.ti1ca.com/89cipx7c.jpg
 
 
j'espère que ça suffira  :D  
 
A+

Reply

Marsh Posté le 09-07-2008 à 15:10:18    

Re
 
Donc, j'ai viré ce que contenait le champs RUE2.
J'ai créé une table de correspondance qu'il te faudra remplir, je n'en ai mis que 4 de mémoire.
Et regardes la requete qui met a jour.
Si tu as besoin d'infos/explications n'hesites pas
 
Fichier ici
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 10-07-2008 à 18:07:29    

une seule chose à dire: merci !!  
et respect ;)
je te tiens au courant.
 
A+


Message édité par SharpShooter le 10-07-2008 à 18:07:47
Reply

Marsh Posté le 11-07-2008 à 10:13:42    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed