IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Relation entre une adresse et la ville et le code postal


Sujet :

Modélisation

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1
    Points : 1
    Points
    1
    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.

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    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

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Relation entre une BDD et un programme Pascal
    Par extrem-alpha dans le forum Pascal
    Réponses: 6
    Dernier message: 24/04/2010, 22h53
  2. Réponses: 6
    Dernier message: 15/04/2010, 10h22
  3. relations entre une page web et base de donnée
    Par soufiane2102 dans le forum Access
    Réponses: 1
    Dernier message: 07/12/2008, 08h49
  4. Faire la relation entre une variable et un define
    Par Sayrus dans le forum Langage
    Réponses: 1
    Dernier message: 21/02/2008, 15h32
  5. relation entre une table pour plusieurs sous tables
    Par nicolovitch dans le forum Access
    Réponses: 2
    Dernier message: 15/07/2006, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo