Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2011, 12h15   #1
Membre régulier
 
Inscription : avril 2005
Messages : 251
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 251
Points : 86
Points : 86
Par défaut Insertion nom departement variable

Bonjour le forum
J' ai une table code postaux avec comme chanp code Insee, commune et code postal. La table a 36724 enregsitrements.
J' ai rajouté le champ Departement et Pays. Ma question question est la suivante: Comment remplir le champ Departement en fonction du numéro de code postal ?
en disant pas exemple si tu rencontre 01 dans le champ code postal, rajoute Ain dans le champ Departement ?
Sachant que le code postal peut etre 01190 mais l' on se basera sur les 2 premiers caracteres du code postal.
Comment puis je le faire ? Merci d' avance pour toute aide
Aladin
Aladin_23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 12h36   #2
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bonjour,

Pourquoi créer un champ département si on dispose déjà du code postal ? ( on alourdit la base pour rien ? )

Si jamais dans un formulaire , on a besoin du département ( pour une zone de liste par exemple )


1 - Créer une table Département qui repértiorie les noms et les n° de département : ici

2 - Faire une requête qui relie cette table et le n° de département obtenu à partir du code postal via le code suivant :
Code :
  NumDepart = Left(CodePostal, 2)
Cdt
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 13h40   #3
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonjour à tous,

Citation:
Envoyé par lelensois16 Voir le message
Code :
  NumDepart = Left(CodePostal, 2)
marche pas pour la Corse (départements 2A et 2B) avec des codes postaux numériques 20xxx.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 14h32   #4
Membre régulier
 
Inscription : avril 2005
Messages : 251
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 251
Points : 86
Points : 86
Bonjour lelensois16, f-leb et le forum
La méthode de lelensois16 est bonne mais comme le dit f-leb j' aurai un pb avec les codes de la corse c' est bien entendu pour cela que j' ai rajouté le champ Département. J' ai essayé une requête Update.qui fonctionne
Si je met le code postal en entier exemple 01480.
Comment mettre 01 et remplacer les 3 autres caracteres par un caractere de subtitution ?

Aladin
Aladin_23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 14h41   #5
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
Citation:
Envoyé par Aladin_23 Voir le message
... j' aurai un pb avec les codes de la corse c' est bien entendu pour cela que j' ai rajouté le champ Département.
...et puis les Feuilladoises et les Feuilladois ne seraient pas d'accord non plus:

Citation:
La Feuillade
19600, Dordogne, Aquitaine, France
CP=19600 mais la Dordogne c'est le département 24

Par contre, j'aurais bien rajouté aussi une table Departement(idDpt, NumDept, NomDept)

CPCommune-∞------1-Departement


Citation:
Envoyé par Aladin_23 Voir le message
Si je met le code postal en entier exemple 01480.
Comment mettre 01 et remplacer les 3 autres caracteres par un caractere de subtitution ?
en concaténant, du style Left([CodePostal],2) & "XXX", ou voir du côté des options de formatage peut-être.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 16h40   #6
Membre régulier
 
Inscription : avril 2005
Messages : 251
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 251
Points : 86
Points : 86
Re bonjour le forum

J' ai réussi ma requete d' insertion avec le left, mais j' ai finalement opté pour la table département que je relierai avec la table des codes postaux
Merci de votre aide
Aladin
Aladin_23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 18h49   #7
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Oups , j'avais pas vu pour la corse ... J'avais toujours utilisé cette méthode et ben maintenant je change ! pauvres corses !


Voici une liste "non exhaustive" de cas particuliers :
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h38.


 
 
 
 
Partenaires

Hébergement Web