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 ?