Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 19/07/2011, 13h53   #1
Invité régulier
 
Homme Pierre Bernard
Étudiant
Inscription : juillet 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bernard
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 15
Points : 8
Points : 8
Par défaut Recherche par Code postal

Bonjour tout le monde.

Je suis aussi nouveau sur le forum qu'en Access c'est pourquoi je sollicite votre aide afin de résoudre mon problème.
J'aimerais créer un formulaire avec un champ vide dans lequel je tape mon code postal et qui en fonction de ce dernier va chercher dans ma base de donnée et me ressort la ou les villes correspondantes. J'ai essayé de plusieurs manières mais je n'y arrive pas.

si quelqu'un pourrait m'aider ce serait vraiment très gentil.

Cordialement,

Pierre
pierre1923 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 14h56   #2
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Bonjour et bienvenu parmi nous...

Déjà un code postal est un texte et non un nombre donc il faudra délimiter la valeur tapée par des quotes ou des guillemets.
Si l'on suppose que la liste des villes se trouve dans une table tblVillesCP et que le résultat doit figurer dans une zone de liste nommée lboVilles, cela se traduirait par :

Code :
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 txtCodePostal_AfterUpdate()
Dim strCP                                              As String
Dim strSQL                                             As String
Dim oRS As DAO.Recordset
 
    strCP = Nz(Me!txtCodePostal, vbNullString)
    If Len(txtCodePostal) = 5 Then
        strSQL = "SELECT Ville FROM tblVillesCP WHERE CP ='" & strCP & "';"
        Set oRS = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
        With oRS
            If .EOF Then
                MsgBox "Aucune ville ne correspond au code postal " & strCP
            Else
                Me.lboVilles.RowSource = strSQL
            End If
            .Close
        End With
 
    Else
        MsgBox "Veuillez incrire un code postal valide !", vbExclamation
    End If
    Set oRS = Nothing
End Sub
Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 09h51   #3
Invité régulier
 
Homme Pierre Bernard
Étudiant
Inscription : juillet 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bernard
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 15
Points : 8
Points : 8
Merci Argy pour ta réponse. Je suis sur que cela fonctionne mais je n'arrive pas à l'appliquer...

- Il faut que je nomme ma table contenant les villes et les codes postaux : tblVillesCP

- Que je nomme ma zone de liste de "réception" lboVilles

et ensuite ou dois je copier le code ? dans la zone ou je dois taper le code postal ou dans la zone de réception?

Merci d'avance pour ton aide
pierre1923 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h19   #4
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Bien disons que de façon conventionnelle, il est préférable de nommer les objets correctement...
Dans mon exemple, la table se nomme effectivement "tblVillesCP" et possède 2 champs nommés CP et Ville. Il faut que ça coïncide comme dirait le canard de Corneille.
En résumé :
  • soit vous adaptez lke code en fonction de vos noms d'objets,
  • soit vous nommez vous objets en fonction du code ;
Toutefois, il est judicieux de prendre en considération que ce dernier choix pourrait avoir un impact négatif sur le fonctionnement de votre appli si ces derniers sont utilisés ailleurs...

Le code exemple est affecté à l'événement AprèsMaj de la zone de texte où est inscrit le code postal...

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h24.


 
 
 
 
Partenaires

Hébergement Web