1 Witold Litwin Cration Rapide dApplications de Bases de Donnes
: Cration Rapide dApplications de Bases de Donnes : Interfaces
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
Bouton de commande En gnral, lanc automatiquement par la
commande Dmarrage y associe pendant la cration du formulaire
Page 35
34 Menu Gnral : MsAccess 2007
Page 36
35 Rsultat : MsAccess 2007
Page 37
36 Rsultat : MsAccess 2007
Page 38
37 Dmarrage : MsAccess 2007
Page 39
38 Dmarrage : MsAccess 2007
Page 40
39 Dmarrage : MsAccess 2007 Protection par Mot de Passe
Page 41
40 Dmarrage : MsAccess 2007
Page 42
Encore un formulaire
Page 43
42 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 44
43 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 45
44 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 46
45 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 47
46 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 48
47 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 49
48 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 50
49 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 51
50 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 52
51 Boite Modale Avec Onglets Deux Onglets sont concatns On
pourrait mettre autant que lon veut
Page 53
52 Boite Modale Avec Onglets
Page 54
53 Boite Modale Avec Onglets
Page 55
54 Boite Modale Avec Onglets
Page 56
55 Boite Modale Avec Onglets Mode Cration On voit les proprits
de longlet Ouvre P
Page 57
56 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 58
57 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 59
58 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 60
Page 61
60 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 62
Page 63
62 Interface MsAccess 2007
Page 64
63 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 65
64 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 66
Page 67
On clique ici
Page 68
Macro appeler
Page 69
Page 70
Mme formulaire en design view et on a cliqu ici Evnements
possibles et macros attachs au bouton
Page 71
On clique ici et..
Page 72
Texte de la macro et commentaires Point d'entre du bouton
Close
Page 73
Liste des macros disp.
Page 74
73 Interface MsAccess 2007
Page 75
74 Interface MsAccess 2007
Page 76
75 Interface MsAccess 2007
Page 77
76 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 78
77 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 79
78 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 80
79 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 81
80 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 82
81 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 83
82 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 84
83 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 85
84 Macros Conditionnelles En mode page, aprs le clique sur le
contrle Code
Page 86
85 Macros Conditionnelles Aprs le clique sur les
Page 87
86 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 88
87 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 89
88 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 90
89 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 91
90 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 92
91 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 93
92 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 94
93 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 95
94 Application pratique l MsAccess l La dmo l A approfondir par
soi-mme ! Voir les exercices la fin du cours
Page 96
95 Witold Litwin
Page 97
96 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 98
97 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 99
98 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 100
99 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 ?