112
1 Witold Litwin Création Rapide d’Applications de Bases de Données : Interface 4-GL

1 Witold Litwin Création Rapide dApplications de Bases de Données : Création Rapide dApplications de Bases de Données : Interface 4-GL

Embed Size (px)

Citation preview

  • Page 1
  • Page 2
  • 1 Witold Litwin Cration Rapide dApplications de Bases de Donnes : Cration Rapide dApplications de Bases de Donnes : Interface 4-GL
  • Page 3
  • 2 Limitation d'un langage 3-GL l SQL est un sous-langage pratiquement pas de contrle de prsentation de donnes l SQL n n'est pas le langage pour "Madame/Monsieur Tout le Monde" un temps d'apprentissage est ncessaire
  • Page 4
  • 3 Langages 4-GL l Introduits par Inf. Builders pour Focus, vers 1980 l Fonctions: Accs aux donnes: Formulaires Prsentation de donnes: Formulaires et Rapports Gnrateurs d'applications: Logique de contrle Menus, buttons, ascenseurs, boites, clicks...
  • Page 5
  • 4 Formulaires l Contrle de saisie de donnes valeurs d'attributs et contraintes interattributs l Contrle de prsentation de donnes Couleurs Fonts: genre et taille Positionnement sur l'cran Effets spciaux: clignotement, Prsentation graphique de donnes l Autoformulaires & formulaires labores
  • Page 6
  • 1
  • Page 7
  • Suite du formulaire (on a cliqu ici) 1
  • Page 8
  • Les contrles Formulaire # 1
  • Page 9
  • Les valeurs Objet importe par ref. Nbre de formulaires disp. 1
  • Page 10
  • On a cliqu ici Formulaire suiv.
  • Page 11
  • Le schma du formulaire On a cliqu ici
  • Page 12
  • 11 Mode Cration MsAccess 2007
  • Page 13
  • 12 Mode Page MsAccess 2007 Mode cration simplifie
  • Page 14
  • Formulaire avec un sous-formulaire ascen- seur Un autre formulaire Source :Table Customer Produit du client Source: Table Products
  • Page 15
  • ascen- seur La suite
  • Page 16
  • Clic
  • Page 17
  • Au client suivant et ses produits
  • Page 18
  • 17 Formulaire Double Affichage
  • Page 19
  • 18 Formulaire Plusieurs Elments
  • Page 20
  • 19 Formulaire Plusieurs Elments Mode empile : Utile pour les tabulations croises
  • Page 21
  • 20 Formulaire Plusieurs Elments Mode empile : Choix en mode page avec le bouton droit de la souris
  • Page 22
  • 21 Bote de Dialogue Modale
  • Page 23
  • 22 Bote de Dialogue Modale
  • Page 24
  • 23 Bote de Dialogue Modale
  • Page 25
  • 24 Bote de Dialogue Modale
  • Page 26
  • 25 Bote de Dialogue Modale
  • Page 27
  • 26 Bote de Dialogue Modale
  • Page 28
  • 27 Bote de Dialogue Modale
  • Page 29
  • 28 Bote de Dialogue Modale
  • Page 30
  • 29 A noter la ligne Total gnral qui nexistait pas dans la requte TRANSFORM Sum(sp.qty) AS SommeDeqty SELECT sp.[s#], Sum(sp.qty) AS [Total de qty] FROM sp GROUP BY sp.[s#] PIVOT sp.[p#];
  • Page 31
  • 30 TRANSFORM Sum(sp.qty) AS SommeDeqty SELECT sp.[s#], Sum(sp.qty) AS [Total de qty] FROM sp GROUP BY sp.[s#] PIVOT sp.[p#]; Info-bulle
  • Page 32
  • 31 Cliquer dabord ici pour voir longlet Modifier le type du graphique
  • Page 33
  • 32 Clique, puis clique Clique Il faut tre en mode Modifier le type du graphique
  • Page 34
  • 33 l Bouton Crer un formulaire l Cre un cadre vide l Permet ensuite linsertion libre l Les objets indpendants l Photos l Les sousformulaires ind. l Les graphiques l .
  • Page 35
  • 34
  • Page 36
  • Bouton de commande En gnral, lanc automatiquement par la commande Dmarrage y associe pendant la cration du formulaire
  • Page 37
  • 36 Formulaires de Navigation Menus Express
  • Page 38
  • 37 Formulaires de Navigation Rsultat
  • Page 39
  • 38 Formulaires de Navigation l Slectionner longlet avec la souris l Tapez ou coller le nom du formulaire l Cliquez sur le champs au-dessous Le formulaire devrait apparaitre l Passez longle suivant qui apparaitra aussi l Etc.
  • Page 40
  • 39 Formulaires de Navigation l Sauvez le rsultat l Passez en mode Formulaire l Rsultat possible sur le diapo suivant l Vous pouvez le peaufiner volont En mode page ou cration
  • Page 41
  • 40 Formulaires de Navigation Le formulaire Quantit prsente une requte graphique
  • Page 42
  • 41 Formulaires de Navigation l Alternativement on Cre le Formulaire Vierge En Mode Cration automatiquement l A partir du Ruban on insre: Titre, Logo, Date Linsertion du 1r de ces champs ouvre le champs En-Tte invisible avant
  • Page 43
  • 42 Formulaires de Navigation l Dans le Dtail on met les boutons douverture dautres formulaires l Dans le Pied on met le bouton Quitter l Comme en TPs
  • Page 44
  • 43 Formulaires de Navigation l Le tout est plus long faire / choix dun Formulaire de Navigation onglets sur le Ruban l Mais le rsultat peut tre bien + Pro
  • Page 45
  • 44 Menu Gnral : MsAccess 2007
  • Page 46
  • 45 Rsultat : MsAccess 2007
  • Page 47
  • 46 Rsultat : MsAccess 2007
  • Page 48
  • 47 Dmarrage : MsAccess 2007
  • Page 49
  • 48 Dmarrage : MsAccess 2007
  • Page 50
  • 49 Dmarrage : MsAccess 2007 Protection par Mot de Passe
  • Page 51
  • 50 Dmarrage : MsAccess 2007
  • Page 52
  • Encore un formulaire
  • Page 53
  • 52 l relationnel tendu relations imbriques formulaires avec sous-formulaires hirarchiss multi-relations formulaire avec sous-formulaires indpendantes objets (autres que les valeurs atomiques) procdures stockes l macros l procdures et fonctions d'AccessBasic objets OLE Formulaires Modle de donnes
  • Page 54
  • 53 Formulaires Proprits Importantes l Source de donnes une table de base une vue mono/multitable mono/multibase plusieurs tables formulaire avec (plusieurs sous-formulaires) tables attaches tables importes images fixes (snapshots) interdites en MAJ aucune Formulaires multibases!
  • Page 55
  • 54 l Parcours de tuples slectionnes par la requte source tous par un filtre additionnel (Edit Filter) dans le menu par une requte parametre par (une reference ) une valeur d'un contrle sur le formulaire, ou un autre formulaire voir format gnral de reference un objet reference absolue vers un formulaire l [Forms]![ nom-forme ]![ nom-controle ] reference locale au formulaire actif l [ nom-controle ] Formulaires Parcours de tuples source
  • Page 56
  • 55 Formulaires : Principaux lments de composition l Champs: En-tte, Dtail, Bas-de-formulaire Botes avec les donnes texte check (oui / non) liste groupe d options Labels (sans donnes) texte ou hypertexte Objets lis (Bound OLE object) Objets libres (Unbound OLE object) images, clips, programmes Graphiques (ang. charts) Sous-formulaires Boutons de commande Onglets (MsAccess 2007) l Les lments sont des outils
  • Page 57
  • 56 l Dans MsAccess dfinir dans les "Proprits" l MAJ rien, pas d'ajouts, tables dfaut, toutes les tables l Accs la dfinition du formulaire ouvert / restreint pour l'usager l Dclencheurs pas du tout, avant ou aprs une MAJ ne peuvent pas s'enchaner ! Formulaires Proprits Avances
  • Page 58
  • 57 Niveaux de concurrence l Ncessaire pour les applications multi-usagers l pas de verrouillage, seulement une notification d'un conflit le mode le + performant SQL : "read uncommitted l peut faire perdre une MAJ voir le cours sur les transactions l verrouillage de la page dite le mode - performant SQL: "read committed" l peut faire l'erreur d'une fonction agrgat problme de fantme ("cursor stability")
  • Page 59
  • 58 l verrouillage de toute la table source y compris pour les insertions le mode le - performant SQL : "Serializable" l pas d'erreurs de concurrence possible l Srialisabilit garantie l Si le formulaire est en lecture seulement, alors le verrouillage est inutile nocif mme Niveaux de concurrence (dfinis dans les "Proprits du Formulaire"
  • Page 60
  • 59 Rglages de fentrage (Proprits d'un formulaire) l Les boutons de contrle de fentrage maximisation ou minimisation de la fentre l Les boutons de navigation pour passer au tuple suivant, premier ou dernier l L'affichage modale le formulaire retient le focus l L'affichage "pop-up" le formulaire reste toujours visible, par-dessus d'autres formulaires ouvertes l Autres L'autocentrage, le genre de bordure voir le manuel ou l'aide contextuelle
  • Page 61
  • 60 l On peut naviguer par les boutons ou les onglets l On peut aussi crer des menus de commandes nouvelles, associs au formulaire option "custom menus" il faut cliquer sur l'outil de cration de menus Menus d'application (Proprits d'un formulaire)
  • Page 62
  • 61 Boite Modale Avec Onglets Deux Onglets sont concatns On pourrait mettre autant que lon veut
  • Page 63
  • 62 Boite Modale Avec Onglets
  • Page 64
  • 63 Boite Modale Avec Onglets
  • Page 65
  • 64 Boite Modale Avec Onglets
  • Page 66
  • 65 Boite Modale Avec Onglets Mode Cration On voit les proprits de longlet Ouvre P
  • Page 67
  • 66 l L'quilibre entre ces possibilits est arbitraire de l'art l La bonne conception exige seulement de ne jamais forcer lusager de fermer la fentre par les boutons usuels de Windows Avoir le bouton (onglet) Fermer la base Avoir le bouton (onglet) Quitter MsAccess Menus d'application (Proprits d'un formulaire)
  • Page 68
  • 67 l On les calcule dans les requtes expressions de valeur, fonctions agrgats dans la proprit source d'un contrle expression de valeur l on peut appeler le Gnrateur d'Expressions (Expression Builder) clique sur le bouton droit de la souris l exemples MsAccess revoir fonction VisualBasic l expressions rpetitives Valeurs calcules (totaux, prix avec TVA...)
  • Page 69
  • 68 Gnrateurs de Rapports l Formulaires pour le papier Rapports simples: auto-rapports Rapports labors l Programmation d'aspects "non-SQL" manipulation de pages valeurs agrgat par page total en bas de page
  • Page 70
  • Page 71
  • 70 Prsentations graphiques l Une image vaut mille mots l Interface facile pour gnrer: camemberts histogrammes Graphes X-Y Graphes 3-D .... l Contrle de taille, chelles, couleurs, lgendes...
  • Page 72
  • Page 73
  • 72 Interface MsAccess 2007
  • Page 74
  • 73 Gnration d'applications l Logique de contrle de l'enchanement de formulaires et rapports vnements macros et modules l Outils de programmation visuelle: menu, bouton, boite ("check" ou combo), clique, "drag & drop"... dessin de lignes de relation ascenseurs (sliders), images 2D et 3D
  • Page 75
  • 74 l Assistants (ang. Wizards) pour crer les tables, formulaires, graphiques, rapports... on peut les avoir en ligne ou les dbrancher la commande correspondante est dans le menu Edit l MsAccess trs utiles sous MsAccess ! l Aide contextuelle l Aide gnrale Gnration d'applications Outils d'aide
  • Page 76
  • Page 77
  • On clique ici
  • Page 78
  • Macro appeler
  • Page 79
  • Page 80
  • Mme formulaire en design view et on a cliqu ici Evnements possibles et macros attachs au bouton
  • Page 81
  • On clique ici et..
  • Page 82
  • Texte de la macro et commentaires Point d'entre du bouton Close
  • Page 83
  • Liste des macros disp.
  • Page 84
  • 83 Interface MsAccess 2007
  • Page 85
  • 84 Interface MsAccess 2007
  • Page 86
  • 85 Interface MsAccess 2007
  • Page 87
  • 86 Possibilits Utiles On peut lancer un formulaire de saisie par un bouton dun formulaire en y passant des valeurs initiaux S# pour lancer SP quand on visualise un tuple de S On utilise laction DefinirValeur avec lElement Forms!SP![S#] et lExpression [S#]
  • Page 88
  • 87 Possibilits Utiles On peut lancer un formulaire de consultation par un bouton dun formulaire en y passant une valeur dun contrle S# pour lancer SP quand on visualise un tuple de S On utilise laction OuvrirFormulaire avec la condtion [S#]=Formulaires!s6![s#]
  • Page 89
  • 88 Possibilits Utiles Exemple de macro similaire: Un bouton dclenche la macro2 dans le formulaire SP Celle-ci commence par deux bips Ouvre le formulaire S Passe la valeur de S# en cours Ferme SP
  • Page 90
  • 89 Possibilits Utiles
  • Page 91
  • 90 Possibilits Utiles On peut visualiser les info-bulles Par la proprit Texte dinfo-bulle Trouvez l Par vnement et boite message Sur Rception focus Sur : exprimenter par vous mme
  • Page 92
  • 91 Possibilits Utiles On peut exporter les donnes Vers Excel, Word, Access, SQL- Server, Sharepoint, Editeur HTML, XML Par lAction CopierVers Actionne par un clic, double clic, bouton Cette action quivaut aux bouton dexportation sur le ruban
  • Page 93
  • 92 Macros Conditionnelles Une possibilit puissante pour crer les applications sophistiques Pour lutiliser, on clique sur le bouton Condition dans le ruban La colonne Condition apparait Les actions dune macro sexcutent alors selon des conditions
  • Page 94
  • 93 Macros Conditionnelles On peut crer des dclencheurs Avant ou aprs Insertion, MAJ Vrifier que le code postal a 5 chiffres On peut crer des autorisations associes aux boutons ou onglets En rservant certains choix aux certains usagers seulement
  • Page 95
  • 94 Macros Conditionnelles Lvaluation de la condition est Vrai/Faux Vrai excute une squence dactions Celle dans la ligne avec la condition Toutes celles qui suivent avec dans la colonne Condition Faux envoie lexcution dans la ligne qui suit
  • Page 96
  • 95 Macros Conditionnelles : Exemple On gnre le contrle du code postal Par un dclencheur Avant MAJ Si le code na pas 5 chiffres, une boite avec le message apparat
  • Page 97
  • 96 Macros Conditionnelles En mode page, aprs le clique sur le contrle Code
  • Page 98
  • 97 Macros Conditionnelles Aprs le clique sur les
  • Page 99
  • 98 Possibilit Utiles On peut crer les boutons groupe doption Par ex. [Choix de S] pour filtrer S sur la 1 re lettre Le groupe montre les boutons A,B,Z,Toutes Pour chaque bouton on positionne une valeur doption : 1,2..,26,27
  • Page 100
  • 99 Possibilit Utiles Chaque valeur est sujet de la condition et de laction AppliquerFiltre Par exemple pour la valeur 1 Condition : [Choix de S] = 1 Action: AppliquerFiltre Where : Sname Like A* Pour Toutes Condition : [Choix de S] = 27 Action: AfficherTousEnreg
  • Page 101
  • 10 0 Limites de macros l Liens statiques les noms de sources sont fixes la dfinition de la macro pas de choix de source par une variable l Pas de navigation programme travers la collection seulement par l'usager l Pas de fonctions notamment pour les expressions rptes l Introprabilit limite avec d'autres applications
  • Page 102
  • 10 1 Visual Basic (pour en faire plus) l Un langage de programmation BD (appel avant Access Basic) pour les programmeurs d'application exprimentes l complet au sens de Turing variables, procdures, fonctions, structures de contrle,... l dfinition dynamique de requtes relationnelles (SQL) avec paramtrage et/ou multibases l oprations de navigation travers le rsultat l manipulation des objets 4-GL l interfaces programmatiques OLE et DDE et DLL l transactions ACID et concurrence par verrouillage et estampilles l administration de la BD et scurit
  • Page 103
  • 10 2 Avenir l Commande par la voix Voir Voice Enabled Browser Access to eGov- Bus (Yakouben Hanafi)Voice Enabled Browser Access to eGov- Bus l Davantage de Business Inteligence SQL Server 2008 -Analysis Services -.
  • Page 104
  • 10 3 Avenir l Linterface Web plus facile crer Point faible de linterface 4GL des SGBD actuels Devrait tre aussi facile que les formulaires etc de MsAccess Devrait tre collaborative Nouveaux outils Container de portlets l Liferay Dmo dapplication EGov l Browsing eGov Bus Portal Browsing eGov Bus Portal par S. Sahri
  • Page 105
  • 10 4 Avenir l Davantage de donnes gographiques, mobiles, images aisment manipulables SQL Server 2008 Interface de type Virtual EarthVirtual Earth Bas sur les travaux de Jim Gray Grand chercheur en BDs Docteur H.C de Dauphine Disparu en mer en 2007
  • Page 106
  • 10 5 Avenir l Interface en langage naturel Fournisseur S1 sappelle Smith, est localis Paris et son statut est 100 l Extraction dinformation l P. ex. systme Lingpipe Voir Google l Voir aussi la dmo par R. Mokadem Site CERIA Information Extraction from eGov Bus User Full Text RequestsInformation Extraction from eGov Bus User Full Text Requests
  • Page 107
  • 10 6 Application pratique l MsAccess l La dmo l A approfondir par soi-mme ! Voir les exercices la fin du cours
  • Page 108
  • 10 7 Witold Litwin
  • Page 109
  • 10 8 Exercices l Refaire les manipulations du cours sur une BD du cours S-P, Northwind, Comptoir l Crer les diffrents formulaires simples pour les table de S-P Formulaire auto et avec lAssistant l Embellir ces formulaires l Ajouter encore : un sous-formulaire un graphe une image l Crer un formulaire de type bote de dialogue modale pour la table S
  • Page 110
  • 10 9 Exercices l Ajouter sur un formulaire: Un bouton qui ouvre une table ou un autre formulaire Un bouton qui lance MsExcell Un bouton qui ferme la table et formulaire ci-dessus, en appelant donc Une macro Un bouton qui lance la fentre de la nouvelle requte QBE
  • Page 111
  • 11 0 Exercices l Une macro qui lance le formulaire SP partir de S, en passant SP le S# en cours sur lcran l Un bouton qui permet de chercher une pice par sa 1 re lettre l Un bouton qui ferme la base sans quitter MsAccess l Un bouton qui quitte MsAccess
  • Page 112
  • 11 1 Exercices l Proposez comment crer les boutons protgs par les autorisations : Nimporte quelle chane qui commence par deux chiffres Mot de passe 123 l Comment crer un dclencheur qui aprs la MAJ de SP affiche la nouvelle valeur du total de QTY ?
  • Page 113
  • 11 2 FIN