Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
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 02/01/2008, 12h04   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 1
Points : 0
Points : 0
Par défaut Relation entre une adresse et la ville et le code postal

Bonjour à tous, je suis actuellement en pleine construction d'un projet de base de données sur access et ne connaissant pas grand chose à ce logiciel, des zones d'ombres m'apparaissent à l'esprit

J'ai une table client dans laquelle je dois inscrire une adresse referant elle meme à un code postal et à une ville... Mais je ne sais pas comment associer deux données à une caracteristique...

Merci, Victoria.
fghjklm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 12h51   #2
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
Par défaut Regarde dans les tutos

Je crois que si tu débutes sur Access, un peu de lecture s'impose.

Je te conseille d'abord de lire ceci puis cela
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 03h09   #3
Invité de passage
 
Inscription : mars 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 1
Points : 1
Points : 1
Mes connaisances sont souvent plus du bricolage que du programmeur qualifié. Mais tant pis je me lance.
Le problème est si j’ai bien compris est de remplir les champs ville, dépt, région, etc en entrant soit le code postal soit la ville
Pour une ville donnée à priori il n’y a qu’un code postal sauf dans les grandes agglomérations ou il y a plusieurs codes postaux (75001,75002,etc.)
Il arrive aussi parfois qu’un même code postal fournisse plusieurs quartiers d’une même ville
A Marseille le code postal 13013 va faire apparaitre pas moins de 6 quartiers ayant le mëme CP
Il faut donc pouvoir faire un choix dans les villes ou quartiers
J’ai fait pour résoudre ce problème un formulaire « frmSaisie » qui comprend les champs codePostal, ville, département, région et Pays.
J’ai également crée une liste déroulante dont le Nom est « ListedechoixCPVILLE ».
Cette liste je l’ai réduite de facon à ce qu’elle ne fasse plus qu’une ligne et je l’ai mise sous les champs villes et codepostal. Elle est ainsi invisible quand le formulaire est ouvert.
Enfin j’ai crée une table qui liste tous les codes postaux (récupérés sur internet)
Puis j’ai crée des scripts (Code événements) pour traiter la saise des CP ou Villes

Code :
1
2
3
4
5
6
7
8
Private Sub CodePostal_AfterUpdate()	 
 If Not IsNull(CodePostal) Then Call chercheCPVille(Chaine:=CodePostal, Genre:="CP")
End SubPrivate Sub Ville_AfterUpdate()
If Not IsNull(Ville) Then Call chercheCPVille(Chaine:=Ville, Genre:="Localité")
End Sub
Ces scripts font appels à une procédure que j’ai mise dans un module.

Module
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub chercheCPVille(Chaine As String, Genre As String)
Dim rst As DAO.Recordset, Sel As String, strCritère As String
Dim intNbF As Integer
 
If Not IsNull(Chaine) Then
 
    Select Case Genre
        Case "CP"
            strCritère = " WHERE [CodePostal]= " & Chr(34) & Chaine & Chr(34) & " ;"
        Case "Localité"
            Chaine = Chaine & "*"
            strCritère = " WHERE [Ville] like " & Chr(34) & Chaine & Chr(34) & " ;"
    End Select
                Sel = "SELECT * FROM [TriCodePostaux] " & strCritère
End If
 
 Set rst = CurrentDb.OpenRecordset(Sel)
‘Combien y a t il de CP ou Ville
                    intNbF = rst.RecordCount
‘En fonction des résultats soit on rempli directement les champs du formulaire « frmSaisie »
‘soit on rempli la liste de choix « ListedechoixCPVILLE ».
 
            Select Case intNbF
                Case Is = 0
                    Sel = "Select * from [TriCodePostaux] "
                     MSGBOX “Attention il n’y a aucune donnée correspondant à votre saisie’
                Case Is = 1
                    'Forms!FrmSaisie![N°Dept] = rst![N°Dept]
                    Forms!frmsaisie![CodePostal] = rst![CodePostal]
                    Forms!frmsaisie![Ville] = rst![Ville]
                    Forms!frmsaisie![Département] = rst![Département]
                    Forms!frmsaisie![Région] = rst![Région]
                    Forms!frmsaisie![Pays] = rst![Pays]
                Case Is > 1
                    Forms!frmsaisie!ListedechoixCPVILLE.RowSource = Sel
                    Forms!frmsaisie!ListedechoixCPVILLE.Requery
                    Forms!frmsaisie!ListedechoixCPVILLE.SetFocus
                    Forms!frmsaisie!ListedechoixCPVILLE.Dropdown
                End Select
 
        rst.Close
 
End Sub

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
‘Ensuite j’ai crée un script qui lorsque le choix est multiple permet de choisir ce que l’on veut
‘Column(x) correspond au n° de la colonne de la table CP 
‘Dept=colonne1, CodePostal=colonne2, etc
 
Private Sub ListedechoixCPVILLE_Click()
    Me.Dept= ListedechoixCPVILLE.Column(1)
    Me.CodePostal = ListedechoixCPVILLE.Column(2)
    Me.Ville = ListedechoixCPVILLE.Column(3)
    Me.Département = ListedechoixCPVILLE.Column(4)
    Me.Région = ListedechoixCPVILLE.Column(5)
    Me.Pays = ListedechoixCPVILLE.Column(6)
End Sub
Chez moi cela fonctionne bien, mais c’est peut être du bricolage.
Mais si le bricolage peut servir, quand on ne peut ou ne sait pas faire autre chose, alors autant l’utiliser

J’espère que cela vous servira
sam3784 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 13h37.


 
 
 
 
Partenaires

Hébergement Web