Vous êtes sur la page 1sur 30

Projet Access : gestion d'agences immobilires

Sommaire
Introduction ................................................................................................................................3 II. Analyse et Conception du Systme dInformation.................................................................4 II.1. Entits ncessaires...........................................................................................................4 ................................................................................................................................................7 II.2. Modle conceptuel des donnes .....................................................................................8 II.3. Modle logique de donnes ............................................................................................9 III. Explications des interfaces Access.....................................................................................10 III.1. Formulaire daccueil....................................................................................................10 III.2. Formulaire "Liste des biens disponibles" ....................................................................11 III.3. Formulaire "Inscription dun locataire" ......................................................................12 III.4. Formulaire "Rcupration du mot de passe" ...............................................................13 III.5. Formulaire "Ajout annonce" .......................................................................................14 III.6. Oprations sur les baux ...............................................................................................15 III.6.1. Formulaire "Ajouter un bail" :................................................................................15 III.6.2. Etat "Afficher un bail" :..........................................................................................15 III.6.3. Imprimer Bail :........................................................................................................17 III.7. Formulaire associ la requte : "Locataire Requte" ...............................................17 IV. Explications de quelques requtes .....................................................................................18 IV.1. Requte "Locataire Requte" ......................................................................................18 IV.2. Requte de jointures ....................................................................................................19 IV.3. Requte de Mise Jour ...............................................................................................21 IV.4. Requte slection agence.............................................................................................21 Pour le formulaire Ajout Biens nous avons voulu permettre lutilisateur de choisir lagence dans laquelle il veut rpertorier son bien louer. Cependant, au lieu de rentrer directement le numro de lagence qui est ncessaire dans la table Biens, il peut laide dun menu droulant choisir le nom de lagence directement....................................................................22 Mais en fait, ce sera le numro qui sera rentr dans la table. Pour ce faire, nous avons cr la requte Agence qui recense toutes les agences ainsi que leurs numros respectifs. Le menu droulant a pour source contrle le rsultat de cette requte, il est muni de deux colonnes (numro agence, nom agence), la premire colonne est cache (taille = 0 cm) et elle est lie la table Biens..........................................................................................................................22 V. Internationalisation du projet ..............................................................................................23 VI. Conclusion .........................................................................................................................28 Rsume......................................................................................................................................30

Introduction
Description du projet : Dans un premier temps, lapplication a t ralise laide du logiciel de la suite Microsoft Office : Access. Cette application avait pour but de permettre la gestion de transactions immobilires afin que lutilisateur puisse de manire interactive proposer dune part une location ou une vente (sil est propritaire), et dautre part consulter les biens immobiliers disponibles (sil chercher louer ou acheter un bien). Les interfaces imagines au dpart nont pas toujours t ralisables sous Access ce qui a videmment soulev quelques problmes et amen des modifications et lutilisation du langage Visual Basic (VB). Dans un deuxime temps, lapplication a t ralise en deux langues diffrentes Franais et Anglais, (en utilisant notamment le langage visual Basic) afin que lutilisateur puisse avoir le choix des langues.

II. Analyse et Conception du Systme dInformation


II.1. Entits ncessaires Entit Agence : Lagence immobilire est nationale et est compose de 5 filiales rparties dans toute la France, il est donc ncessaire de faire appel une entit AGENCE. Entit Propritaire : Permettant de regrouper plusieurs propritaires et toutes les informations les concernant y sont rpertories. Entit Locataire : Permettant de regrouper tous les locataires prsents dans 5 agences ainsi que les informations les concernant. Entit Biens : Permettant de regrouper les diffrents biens immobiliers (en fonction de leur superficie, de leur prix) rpertoris dans les diverses agences et didentifier les propritaires laide de leur numro. Entit Bail : Reprsentant les informations principales de lagence, du locataire et celles du propritaire (nom, nde tlphone) Lassociation de ces entits permettra de grer les diffrentes agences, les biens rpertoris, mais galement les locataires et propritaires.

Entit Agence :

Figure 1 Entit agence

Entit Propritaire et locataire :

Les utilisateurs peuvent tre soit des locataires soit des propritaires, deux entits seront donc ncessaires car un locataire peut aussi tre propritaire. Nous avons donc une table PROPRIETAIRE et une table LOCATAIRE :

Figure 2 Entit Propritaire et Locataire Les cls primaires des tables PROPRIETAIRE et LOCATAIRE sont de type texte et non pas numrique car le fait de prendre un numrique aurait entran une redondance dans les identifiants (On aurait eu un propritaire n2 et un locataire n2 cela aurait entran des confusions. En fait, ds quon a un identifiant personne il faut toujours obligatoirement mettre un n de personne car il y a beaucoup dhomonymes. Cest pourquoi nous avons dcid didentifier les locataires par une combinaison de la lettre C, ainsi que dun nombre (exemple : C23), les propritaires seront eux identifis par la combinaison de la lettre L et dun nombre (exemple : L43). Le problme de cette identification est le fait de ne pas pouvoir utiliser de numrotation automatique, il faudra donc saisir la main les identifiants et pour simplifier la reprsentation des donnes on veut que le numro corresponde la place de lenregistrement dans la base (Le 3me propritaire inscrit aura donc lidentifiant P3), nous devons donc savoir le nombre de propritaires ou de locataires prsents dans la base au moment de linscription.

Entit Biens

Figure 3 Entit Bien


Entit Bail Si un locataire trouve un bien correspondant ses ententes il cre un bail, tous les diffrents baux sont rpertoris dans la table BAIL

Figure 4 Entit Bail

II.2. Modle conceptuel des donnes Le modle conceptuel des donnes dcrit la smantique, c'est--dire le sens attach ces donnes et leur apport. Cette reprsentation est faite par le modle entits- associations, qui regroupe lensemble des donnes du systme, qui sont organises en fonction de leurs dpendances. Ces associations reprsentent les liens entre objets et individus du Systme dinformation. Un type dassociation est un sous-ensemble dun produit cartsien de types dentits. Sa notation est la suivante : Nom du type dassociatio n Chaque cl primaire est identifie dans les tables en les soulignant. Figure 5 MCD
BIENS Numro_Bien <pi> Numrique <O> Nom Texte Adresse Texte Code Postal Numrique Ville Texte Type Texte Superficie Numrique Prix Monnaie Location Boolen Honoraires Monnaie Meubl Boolen Caution Monnaie Disponible Boolen Numro_Bien <pi> 1,n 1,1 PROPRIETAIRE Numro_Propritaire <pi> <Indfini> <O> Nom T exte Prnom T exte Adresse T exte Code Postal Numrique Ville T exte N Tlphone Numrique N Tlphone Mobile Numrique N RIB Numrique Numro_Propritaire <pi>

Possde 1,1

0,1

Correspond

1,1 Bail Numro_Bail <pi> <Indfini> <O> Date <Indfini> Numro_Bail <pi>

Rpertorie

1,1

Signe

1,n AGENCE Numro_Agence <pi> Numrique <O> Nom Texte Adresse Texte Code Postal Numrique Ville Texte N Tlphone Numrique Nom Responsable Texte N Fax Numrique Adresse E-mail Texte Numro_Agence <pi>

0,1 LOCATAIRE Numro_Locataire <pi> <Indfini> <O> Nom Texte Prnom Texte Adresse Texte Code Postal Numrique Ville Texte N Tlphone Numrique N Tlphone Mobile Numrique N RIB Numrique Numro_Locataire <pi>

Pour chaque association, on dtermine un couple de nombres pour chaque entit lie. Les cardinalits permettent la traduction de rgles de gestion fondamentales et de dfinir pour chaque couple entit-relation les nombres minimums et maximums doccurrences de la relation pouvant exister pour une occurrence de lobjet. II.3. Modle logique de donnes Ce modle-ci reprsente une image du modle logique, intgrant des choix dorganisation des donnes.

Figure 6 MLD Les proprits en gras indiquent toutes les cls primaires de la table par exemple, pour lentit propritaire, on peut voir que le numro du propritaire, unique, est considr comme la cl primaire. Le fait de relier les tables sur des champs en commun permet dviter redondance. En fait, ceci permet davoir accs aux informations des autres entits. Prenons lexemple des entits Propritaire et Bien. La table Bien contient champ numro du propritaire (cl primaire) et aucune autre information sur propritaire. En effet, cette relation va donner accs aux autres informations sur propritaire tel que son nom, prnom, numro de tlphone, etc. la le le le

III. Explications des interfaces Access


III.1. Formulaire daccueil

Figure 7 Formulaire d'accueil Slection de lagence (2)

Inscription dun locataire (1)

Choix de la langue.

Rcupration du mot de passe (3) Cette capture dcran permet de visualiser la page daccueil de lapplication. Cette page est lance (outils, dmarrage afficher le formulaire) automatiquement lors de louverture du formulaire et va permettre aux personnes concernes (agence, locataire, propritaire) de pouvoir effectuer les actions souhaites dans la langue quil dsire (anglais, franais).

Prenons lexemple du locataire, tout dabord, il doit sidentifier (1) en cliquant sue le bouton inscription du locataire (III 3) . Cette action va permettre louverture du formulaire inscription et cest l o le locataire devra rentrer toutes les informations le concernant (nom, prnom, son numro, tlphone.) (Voir Partie III.3 du rapport). Cette tape faite, le locataire possdera un numro qui lui sera propre et qui lui permettra pour les fois suivantes de visualiser directement les biens. En cas doublie de son numro personnel, celui-ci a la possibilit de le retrouver en cliquant sur la case rcupration du mot de passe (3). Ensuite une fois linscription valide, retour automatique la page daccueil o il devra choisir une des cinq agences cites (2) (ANGERS, BORDEAUX, GRASSE, LYON, PARIS) afin douvrir un autre formulaire liste des biens disponibles (III.2) o il pourra visualiser les biens disponibles dans la bande de donnes de lagence. III.2. Formulaire "Liste des biens disponibles"

Dplacements dans les enregistrements

Caractristiques du bien

Oprations sur les baux (5)

Caractristiques de lagence Formulaire ajout annonce (4)

Quitter le formulaire

Figure 8 Liste des biens disponibles dans la table III.3. Formulaire "Inscription dun locataire" Le formulaire Inscription du propritaire est quasiment identique au formulaire Inscription dun locataire nous ne le dtaillerons donc pas.

Figure 9 Inscription locataire

Caractristiques du locataire saisir

Ajout de lenregistrement

Quitter le formulaire Excuter la requte affichant le nombre de locataires prsents dans la base (6)

III.4. Formulaire "Rcupration du mot de passe"

Figure 10 Formulaire "rcupration du mot de passe" Validation (2bis) Quitter formulaire

Saisie du nom et du prnom de lutilisateur (2bis)

Si lutilisateur est absent de la base de donnes, le message suivant saffiche :

Figure 11 Message Microsoft Office Access Sil est prsent, son mot de passe est affich :

III.5. Formulaire "Ajout annonce"

Caractristiques du bien saisir (4bis) Figure 12 Formulaire ajout annonce location

Valider (4bis)

Fermer Formulaire

Lors de lenregistrement, le message de validation suivant saffiche lcran :

III.6. Oprations sur les baux III.6.1. Formulaire "Ajouter un bail" :

Caractristiques du bail saisir Figure 13 Formulaire ajout Bail III.6.2. Etat "Afficher un bail" :

Ajouter enregistrement

Fermer formulaire

Lorsque lutilisateur souhaite afficher son bail, il doit saisir son numro de locataire, la fentre suivante saffiche, elle est gnre par la requte Jointure3agence (voir explications plus loin)

Une fois le numro saisi, le bail correspondant votre numro saffiche :

Figure 14 Exemple de Bail III.6.3. Imprimer Bail : Cette fonctionnalit permet lutilisateur dimprimer son bail, quil pourra par la suite signer en compagnie du propritaire et du responsable de lagence. Celui-ci devra tre imprim en 3 exemplaires (un pour le locataire, un pour le propritaire et un pour lagence). III.7. Formulaire associ la requte : "Locataire Requte"

Rsultat de la requte Locataire Requte (7)

Fermer le formulaire

Figure 15 Formulaire "Locataire Requte"

IV. Explications de quelques requtes


Les requtes permettent une traduction informatique des questions que lon se pose par rapport la table, la base de donnes. Pour rpondre nos questions, nous avons ralis 4 requtes : requte agence, Propritaire, locataire et mise jour. IV.1. Requte "Locataire Requte"

Figure 16 Requte pour le locataire On compte le nombre doccurrences de Locataires prsents dans la base laide de lopration Compte. Le rsultat de la requte est prsent comme ci-dessous :

IV.2. Requte de jointures Afin de rcuprer toutes les donnes ncessaires la modlisation du bail, il faut jointer toutes les diffrentes tables. Le problme est que nous ne pouvons faire joindre les tables que par deux. Il nous faut donc passer par des jointures intermdiaires. Nous allons d'abord faire joindre deux tables par la requte JointureBailBiens :

Figure 17 Jointure BailBiens Puis nous allons faire joindre le rsultat de cette requte avec une nouvelle table par une nouvelle requte nomme Jointure1locataire :

Figure 18 Jointure locataire

Et nous rptons lopration avec la table propritaire dans la requte Jointure2propritaire :

Figure 19 Jointure propritaire Pour finir, nous allons joindre le rsultat de cette requte avec la dernire table afin davoir une jointure totale, ceci est fait par la requte Jointure3agence :

Figure 20 Jointure Agence Le problme de cette jointure est que tous les enregistrements sont rpertoris sans exception, lors de laffichage ou de limpression dun bail, le locataire ne veut avoir accs quaux informations concernant son bail, pour ce faire, nous avons d ajouter un paramtre saisir par le locataire qui est son numro. Cependant, il

subsiste toujours un problme que nous navons pas gr : si un locataire possde plusieurs baux, ils seront tous affichs. IV.3. Requte de Mise Jour

Figure 21 Requte de mise jour Cette requte est excute lors de la cration dun bail, le boolen Disponible du bien choisi est mis non afin de le rendre invisible pour les futurs locataires cherchant un bien du mme type. IV.4. Requte slection agence

Figure 22 Requte agence

Figure 23 Zone de liste droulant pour les agences Pour le formulaire Ajout Biens nous avons voulu permettre lutilisateur de choisir lagence dans laquelle il veut rpertorier son bien louer. Cependant, au lieu de rentrer directement le numro de lagence qui est ncessaire dans la table Biens, il peut laide dun menu droulant choisir le nom de lagence directement. Mais en fait, ce sera le numro qui sera rentr dans la table. Pour ce faire, nous avons cr la requte Agence qui recense toutes les agences ainsi que leurs numros respectifs. Le menu droulant a pour source contrle le rsultat de cette requte, il est muni de deux colonnes (numro agence, nom agence), la premire colonne est cache (taille = 0 cm) et elle est lie la table Biens.

V. Internationalisation du projet
Afin de rendre lapplication accessible aux anglophones, nous avons dcid de permettre la traduction du programme en Anglais. Le bouton ci-dessous permet de passer de la version franaise en version anglaise et vice-versa :

Il suffit de cliquer sur le drapeau reprsentant la langue choisie. Pour raliser ceci, nous avons d faire appel au langage de programmation VBA (Visual Basic Application). Il est possible de raliser des applications en VBA directement partir du logiciel Access, en crant du code vnement.

Figure 24 Explication du langage VBA Afin de pouvoir modifier la langue, nous avons d crer deux tables supplmentaires, la table Langue contenant un seul enregistrement qui est la dsignation de la langue active :

Figure 25 Langage La table International recense elle tout le texte afficher dans les diffrentes langues :

Figure 26 Internationalisation Le champ Formulaire reprsente le nom du formulaire slectionn, le champ Control reprsente le nom de lobjet contenant du texte (bouton, tiquette, menu droulant). Le champ Fr reprsente le texte inscrire sur le Contrle en franais et le champ Gb le texte inscrire sur le Contrle en anglais. Tous les contrles de tous les formulaires contenant du texte sont rpertoris dans cette table. Ces deux tables sont utilises par la fonction internationalisation dont le code suit ci-dessous : Public Sub international (lg As String, Frm As Form) Dim db As DAO.Database Set db = CurrentDb If lg = "LG" Then Else db.Execute (" UPDATE Langue SET Langue = '" + lg + "' ") End If Dim rcs As DAO.Recordset Dim rcs2 As DAO.Recordset Dim req As String Dim req2 As String req = "SELECT * FROM International WHERE [Formulaire] = '" + Frm.Name + "'" req2 = "SELECT Langue FROM Langue" Set rcs = db.OpenRecordset(req, dbOpenForwardOnly, dbReadOnly) Set rcs2 = db.OpenRecordset(req2, dbOpenForwardOnly, dbReadOnly) While Not rcs.EOF Frm.Controls(rcs![Control]).Caption = rcs.Fields(rcs2![langue]) rcs.MoveNext Wend End Sub

La fonction est dclare dans le formulaire Accueil en fonction de type public afin dtre accessible par tous les autres formulaires de lapplication. Deux paramtres sont passs la fonction, le premier, de type String est la langue dans laquelle lon veut afficher le formulaire. Si ce paramtre est FR , il sera affich en Franais et la valeur FR sera inscrite dans la table Langue. Si ce paramtre est GB , le formulaire sera affich en Anglais et cette valeur sera inscrite dans la table Langue. Si ce paramtre vaut LG , le formulaire sera affich dans la langue inscrite dans la table Langue. Deux recordsets sont alors crs, ces deux recordsets vont excuter chacun une requte lui tant propre, le premier rcs va rcuprer tous les enregistrements de la table International correspondant au formulaire appelant la fonction. Le second, rcs2, va rcuprer la valeur de la langue inscrite dans la table Langue. Requte 1 : "SELECT * FROM International WHERE [Formulaire] = '" + Frm.Name + "'" Requte 2 : "SELECT Langue FROM Langue" Ensuite pour chaque enregistrement rcupr par rcs nous allons afficher le texte inscrit dans la langue rcupr par rcs2. While Not rcs.EOF Frm.Controls(rcs![Control]).Caption = rcs.Fields(rcs2![langue]) rcs.MoveNext Wend Pour appeler cette fonction, trois diffrents appels sont ncessaires pour chaque formulaire : Private Sub Form_Activate() Form_Accueil.international "LG", Me End Sub Private Sub ImageFR_Click() Form_Accueil.international "FR", Me End Sub Private Sub ImageGB_Click() Form_Accueil.international "GB", Me End Sub Le premier est effectif lactivation du formulaire, c'est--dire lorsque le formulaire devient la fentre principale . Private Sub Form_Activate()

La fonction du formulaire Accueil est appele avec en paramtre LG (pour rcuprer la langue de la table Langue) et Me qui est le formulaire dans lequel est appel la fonction. Form_Accueil.international "LG", Me Les deux derniers appels sont effectifs lorsque lon clique sur les drapeaux des deux pays. Private Sub ImageFR_Click() Private Sub ImageGB_Click() Les paramtres passs sont soit FR soit GB suivant la langue afficher.

Voici un exemple de formulaire dans les deux langues :

VI. Conclusion
Access est un outil relativement intressant qui permet de mettre en place le fonctionnement dune base de donnes, grce une sparation des formulaires, des requtes, des modules et des tats, avec pour chacun deux, des assistants facilitant laccs la base. Ceux-ci se rvlent tout de mme limits lorsquon souhaite faire quelque chose de plus complexe. Cependant, il ne peut tre utilis efficacement que pour des applications simples, montrant rapidement ses limites voir sa complexit dans des bases plus difficiles o lutilisation du visual Basic semble parfois invitable. Bien quAccess puisse tre un des moyens logiciels que lon puisse utiliser dans la gestion du stock dune entreprise par exemple, il est cependant mal adapt dans les projets de trs grande envergure. En effet, le nombre simultan de connexion au logiciel est restreint ainsi que sa capacit denregistrement des informations dans les tables. Dans le cas dun projet ncessitant un solide serveur de base de donnes, on prfrera faire appel des outils spcialiss, comme Oracle, qui ont t dvelopps dans ce but. Hormis les avantages et les inconvnients dAccess, un tel projet peut tre un moyen efficace pour faire face aux problmes rencontrs dans la mise en uvre dun projet informatique, depuis sa conception, jusqu' sa prsentation, en passant par la rdaction de sa documentation.

Index des Illustrations


Figure 1 Entit agence.................................................................................................................4 Figure 2 Entit Propritaire et Locataire.....................................................................................5 Figure 3 Entit Bien....................................................................................................................6 Figure 4 Entit Bail.....................................................................................................................7 Figure 5 MCD.............................................................................................................................8 Figure 6 MLD.............................................................................................................................9 Figure 7 Formulaire d'accueil...................................................................................................10 Figure 8 Liste des biens disponibles dans la table....................................................................12 Figure 9 Inscription locataire....................................................................................................12 Figure 10 Formulaire "rcupration du mot de passe"..............................................................13 Figure 11 Message Microsoft Office Access............................................................................13 Figure 12 Formulaire ajout annonce location...........................................................................14 Figure 13 Formulaire ajout Bail................................................................................................15 Figure 14 Exemple de Bail........................................................................................................17 Figure 15 Formulaire "Locataire Requte"...............................................................................17 Figure 16 Requte pour le locataire..........................................................................................18 Figure 17 Jointure BailBiens.....................................................................................................19 Figure 18 Jointure locataire.......................................................................................................19 Figure 19 Jointure propritaire..................................................................................................20 Figure 20 Jointure Agence........................................................................................................20 Figure 21 Requte de mise jour..............................................................................................21 Figure 22 Requte agence.........................................................................................................22 Figure 23 Zone de liste droulant pour les agences..................................................................22 Figure 24 Explication du langage VBA....................................................................................23 Figure 25 Langage....................................................................................................................24 Figure 26 Internationalisation...................................................................................................24

Rsume
Mots cls : Base de donnes, Access, langage Visual Basic Application, Bail, Immobilier, requte, Etat, Formulaire Cette application a t ralise laide du logiciel de la suite Microsoft Office Access, il a pour but de permettre la gestion de transactions immobilires. Aprs une analyse laide de la mthode Merise nous ayant permis de crer un Modle Conceptuel des Donnes, ainsi quun Modle Logique des Donnes. Nous avons laide de tables, requtes, formulaires et tats cr une application interactive pour des locataires potentiels ou des propritaires immobiliers. Les limites du logiciel Access ayant t atteintes nous avons du employer le langage de programmation Visual Basic Application notamment pour linternationalisation du projet.

Keywords : DataBase, Access, language visual Basic Application, Lease, Real estate, Request, State, Form This application was carried out using the software of the Microsoft Office ' Access' suite, it is to allow the management of real transactions. After an analysis using the Merise method us having allowed to create a Conceptual Model of the Data, as well as a Logical Model Data. We have using tables, requests, forms and states to create an interactive application for potential tenants or real owners. Limits of the software ' Access' having been reached we have to employ the programming language ' Visual BASIC Application' in particular for the internationalisation of the project.

Vous aimerez peut-être aussi