MON PREMIER PROGRAMME EN DOT NET ET STRATAFRAME



Documents pareils
COURS WINDEV NUMERO 3

Créer sa première base de données Access Partie 4/4 - Création d un état

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Créer sa première base de données Access Partie 3/4 - Création d un formulaire

Comment utiliser FileMaker Pro avec Microsoft Office

BIRT (Business Intelligence and Reporting Tools)

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Tutoriel. Votre site web en 30 minutes

Les bases de données. Se familiariser avec Base. Figure 1.1A Ouvre le fichier dont tu as besoin. Lance OpenOffice Base.

EXCEL TUTORIEL 2012/2013

Tutoriel Atout Facture. 14/01/2015 Codelpi

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

GUIDE Excel (version débutante) Version 2013

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Introduction à Eclipse

Excel 2007 Niveau 3 Page 1

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Installation et utilisation du client FirstClass 11

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

PRISE EN MAIN D ILLUSTRATOR

UTILISER LA MESSAGERIE

Rapports d activités et financiers par Internet. Manuel Utilisateur

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Comment obtenir un identifiant PIC? Mode d emploi

Utilisation de l éditeur.

Module 1 : Tableau de bord Excel * 2010 incl.*

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

ET REGISTRE DE PRESENCE

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Volet de visualisation

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

< Atelier 1 /> Démarrer une application web

Créer le schéma relationnel d une base de données ACCESS

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Formation tableur niveau 1 (Excel 2013)

Utilisation de Sarbacane 3 Sarbacane Software

Mes premiers diaporamas avec Open Office Impress?

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

TUTORIEL Qualit Eval. Introduction :

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Ce dont nous avons besoin pour suivre ce tutorial :

Troisième projet Scribus

Prosp'Action GUIDE UTILISATEUR. Conquête et fidélisation de clients

Débuter avec OOo Base

Comment accéder à d Internet Explorer

Création d un site Internet

Atelier Découverte de Windows. janvier 2012

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Access 2007 FF Access FR FR Base

[Ministère des Affaires étrangères et du Développement international] DEFI MANUEL UTILISATEUR ESPACE DEMANDEUR

Le Logiciel de traitement sur site IMS

Ouvrir le compte UQÀM

Manuel d utilisation de la messagerie.

Modes Opératoires WinTrans Mai 13 ~ 1 ~

CREG : versailles.fr/spip.php?article803

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Guide d usage pour Word 2007

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

The Grid 2: Manuel d utilisation

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Guide d utilisation 2012

LES TOUT PREMIERS PAS

FAIRE SES COMPTES AVEC GRISBI

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

MANUEL DES NOUVEAUTES

MO-Call pour les Ordinateurs. Guide de l utilisateur

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Créer des étiquettes avec les adresses d'un tableau Calc


Assistant d e tablissement de Tableaux

MANUEL DE L UTILISATEUR

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

Encryptions, compression et partitionnement des données

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Les 1 er pas sur. Guide d utilisation

Création WEB avec DreamweaverMX

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

Optimiser pour les appareils mobiles

Manuel d utilisation du site web de l ONRN

La Clé informatique. Formation Excel XP Aide-mémoire

FACTURATION. Menu. Fonctionnement. Allez dans le menu «Gestion» puis «Facturation» 1 Descriptif du dossier (onglet Facturation)

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

J ai peur des souris mais je me soigne Petit manuel à l attention des profs de langues vivantes désireux d affronter le Monstre Informatique

Logiciel SuiviProspect Version Utilisateur

Prise en main rapide

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

A - Créer une Base de données au format dbase

Transcription:

PREAMBULE : Le but de ce tutorial est de bâtir un premier programme en DOT NET et STRATAFRAME, qui devra gérer un ensemble de personnes, de titres, d adresses et de numéros de téléphone. Un bête agenda en somme! Il faudra pouvoir ajouter des personnes, modifier des données les concernant, et pouvoir les supprimer. Enfin il faudra pouvoir imprimer une liste des personnes présentes dans la base de données. Ce programme très basique, vous permettra de connaitre les bases de la programmation dotnet et Strataframe, et surtout de maitriser le séquencement des opérations à réaliser. Pour débuter nous allons construire une base de données qui nous servira pour ce premier programme. La première opération sera de construire une base de données dans un serveur sql. Nous allons créer une table de personnes, une table de titres et une table d adresses. La table personnes contiendra les colonnes suivantes : Pk_personnes int NOM CHAR(50) PRENOM CHAR(35) Fk_titres int Fk_adresse int clé primaire La table titres contiendra les colonnes suivantes : PK_titres INT clé primaire LIBELLE CHAR(30) La table adresses contiendra les colonnes suivantes : Pk_adresse int clé primaire ad_1 char(50) ad_2 char(50) ad_cp char(10) ad_ville char(50) ad_tel char(15) (Notez que la colonne ad_cp est en char 10 pour pouvoir contenir des codes postaux étrangers) Ensuite, nous verrons comment gérer ces données dans plusieurs écrans (formulaires) et comment imprimer ces données. Tous les éléments de ce tutorial sont volontairement simplistes afin de faciliter la compréhension nécessaire à la première utilisation. Ainsi nous allons créer une base de données SQL serveur à partir de Visual studio. En réalité, la bonne pratique serait de créer la base de données à partir de SSMS, SQL Serveur Management Studio. Cela fera l objet d un prochain tutorial. Page 1 sur 107

I - CREATION DE LA BASE DE DONNEES : Ouvrez Visual studio et dans le menu affichage, sélectionnez l explorateur de serveurs Page 2 sur 107

Faites un clic droit sur connexions de données afin que le menu contextuel s affiche et sélectionnez création d une nouvelle base de données Page 3 sur 107

Il faudra indiquer le nom du serveur SQL.. Notez que si l on clique sur le triangle noir avec la pointe vers le bas, la liste des serveurs disponibles apparaîtra. Sélectionnez le serveur sur lequel vous allez créer la base de données AGENDA. Notez qu il vous faudra des droits de création sur ce serveur pour pouvoir créer la base Page 4 sur 107

Indiquez le nom de la base de données et cliquez sur OK Vous remarquez alors que dans la fenêtre d explorateur de serveur, la base de données apparait Cliquez sur le triangle situé à gauche de la base de données et vous obtenez l écran ci-dessous. Votre base de données peut contenir des schémas, des tables, des vues, des procédures stockées, des fonctions, des synonymes, des types et des assemblys. Page 5 sur 107

Pour l instant, intéressons-nous aux tables simplement. Vous aurez tout le loisir d approfondir SQL et ses multiples possibilités. Pour créer notre table de personnes, nous allons effectuer un clic droit sur le mot tables puis sélectionner «ajouter une nouvelle table» Page 6 sur 107

L écran suivant apparaît : Il nous faudra pour chaque colonne, indiquer un nom, un type de données et indiquer si l on autorise une valeur nulle. Tapez le nom dans la zone nom de la colonne et sélectionnez int dans la colonne type de données Page 7 sur 107

Dans la colonne spécification de la colonne Positionnez-vous sur «Est identité» et indiquez «oui» Saisissez les autres colonnes afin d obtenir Cliquez alors sur la croix pour fermer cet écran et Visual studio vous demande un nom de table Cliquez sur oui Page 8 sur 107

Vous pourrez donner un nom à votre table ici nous mettrons personnes puis cliquez sur Ok Vous remarquez alors dans l explorateur de serveur que la table personnes est créée Faisons de même avec les autres tables Page 9 sur 107

Voici nos tables créées : La première étape est passée, nos tables sont créées. Il s agit-là d une vision simpliste des choses, et dans la réalité, il vaudrait mieux créer ses tables à partir de «SSMS». Il est ainsi possible d attribuer diverses propriétés à la base de données, comme sa taille, le comportement en cas d augmentation de tailles, des paramètres de sécurité etc Mais cela fera l objet d un autre tutorial. Nous allons pouvoir passer à l étape suivante pour créer nos formulaires permettant de gérer ces tables. Page 10 sur 107

II - CREATION DU PROJET MON PREMIER PROGRAMME : Pour pouvoir gérer les formulaires, les états nécessaires à réalisation du programme, il faut créer un projet dans Visual studio. VS permet de choisir entre Visual basic ou C # ou C++ Nous sélectionnerons ici Visual basic. Allons-y : Dans vs, sélectionnez le menu Fichier, nouveau, projet La boîte de dialogue suivante apparait Sélectionnez Strataframe, et Strataframe Windows application Et nommez votre projet AGENDA Page 11 sur 107

Vous obtenez l écran suivant : Visual studio a créé un projet, agenda, et il a généré un formulaire appelé form1 Notez qu à ce stade, tout est en mémoire. Visual studio n a rien écrit sur le disque. La première opération consiste donc à enregistrer votre projet La fenêtre suivante apparaît Nommez votre projet et cochez créer un répertoire pour la solution Page 12 sur 107

Votre projet et créé et enregistré. Sur la droite, vous avez une fenêtre explorateur de solution Cette solution contient un projet Agenda! A ce stade, il est important de savoir que Visual studio n affiche pas tous les éléments du projet Pour voir tous les éléments du projet, il faut cliquer sur le bouton Afin d obtenir Cela nous permettra d ajouter des références et bien d autres choses, mais ne brusquons pas les étapes. Intéressons-nous plutôt à notre formulaire form1 Page 13 sur 107

qui sera le formulaire de base de notre programme. C est celui-ci qui arrivera en premier pour les utilisateurs de notre programme. Notre formulaire de départ devra nous permettre d ouvrir le formulaire de titres, et celui des personnes avec leurs adresses, de lancer une édition et de sortir du programme Nous allons donc l agrandir un peu et lui ajouter un menu Dans la boîte à outils sélectionnez «Menustrip» et faites le glisser sur le formulaire Page 14 sur 107

Indiquez dans le menu le texte que vos utilisateurs verront. Positionnez vous sur le menu Fichiers et faites un double click sur quitter Vous obtenez l écran suivant : Cette sub sera appelée lorsque l utilisateur sélectionnera le menu quitter Il ne reste qu à placer le code qui sera exécuté pour quitter l application : Application.exit Page 15 sur 107

Notez que l IntelliSense de vs est très bien faite et vous donne beaucoup d informations Bien, votre code doit ressembler à ceci Nous allons pouvoir fermer le form1 que nous reprendrons plus tard et nous occuper de la partie accès aux données du programme. Tout d abord fermons tout le form1.vb et le form1.vb[design] Page 16 sur 107

Enregistrez votre formulaire. Vous obtenez dans l explorateur de solution Comme nous avons trois tables, (personnes, titres, adresses), nous allons créer trois business object. Ce sont eux qui feront «l interface» entre les tables et le programme Positionnez votre souris sur le projet agenda dans la solution, faites un clic droit Et sélectionnez Ajouter, nouvel élément Page 17 sur 107

Et sélectionnez SF BUSINESS OBJECT et nommez le bo_personnes Faites de même pour bo_titres et bo_adresse Page 18 sur 107

Votre écran doit ressembler à ceci Les trois «bo» sont ouverts et ils apparaissent dans l explorateur de solution. Nous allons créer un quatrième «bo» afin de placer du code dans ce dernier et ceci nous évitera d écrire trois fois le même code dans chaque «bo». Nous allons créer un bo_base de la même manière, ajouté, nouvel élément, busines object nommé bo_base Les quatre «bo» sont ouverts Cliquer sur le lien «cliquer ici pour passer en mode code» du bo_base Page 19 sur 107

Vous obtenez ceci Cliquez sur le plus + de la région DATA RETRIEVAL METHODS afin d ouvrir cette dernière Dans cette région taper le code suivant : Public Sub monter_toutes_les_lignes_de_la_table() Me.FillDataTable( "select " & Me.AllFieldNames & " from " & Me.TableNameAndSchema ) End Sub Page 20 sur 107

Votre écran doit ressembler à ceci! Enregistrez votre bo_base et fermez-le Dans les trois autres bo, changez la ligne Inherits MicroFour.StrataFrame.Business.BusinessLayer Par Inherits bo_base Fermer les bo sans vous occuper d un message d erreur de vs et générez la solution. Tant que la solution n est pas générée, VS ne peut exécuter l inhérits de bo_base, car il ne le connait qu une fois généré. Cette génération de la solution est impérative et ce à plusieurs stade de l élaboration de notre projet! Maintenant que notre solution est créée et que nos trois bo héritent du bo_base, nous allons pouvoir affecter chaque bo à chaque table et lui dire quoi faire dans tel ou tel cas. Page 21 sur 107

Dans le menu stratiforme, sélectionnez le premier élément business object mapper Voici l écran que vous obtenez Page 22 sur 107

Notez que le projet (strataframe bomapper) agenda a une croix rouge. Il n est pas encore paramétré. Positionnez-vous dessus. Vous remarquez alors un hyper lien permettant de configurer ce projet. Cliquez dessus Page 23 sur 107

Vous obtenez l écran suivant : Il faut choisir un projet STRATFRAME. Ce n est pas le même projet que le projet AGENDA de VS, nous allons donc cliquer sur new et faire un projet nommé : AGENDA_BOS Page 24 sur 107

Vous obtenez cet écran Indiquez un nom de projet AGENDA_BOS Sélectionnez SQL server Indiquez une description succincte puis cliquez sur le bouton avec les trois petits points sur la ligne SQL server connexion string Notez que si vous aviez la chaîne de connexion vous pourriez la saisir. Cliquons sur les trois petits points Page 25 sur 107

Dans cet assistant, Indiquez le nom du serveur puis le nom de la base de données, puis cliquez sur next Le récapitulatif suivant s affiche et cliquez sur Finish Page 26 sur 107

La chaine de connexion a été remplie. Cliquez sur ok Notez que le projet Strataframe agenda n a plus la croix rouge. Cliquez sur le plus afin de l ouvrir et vous visualisez quatre bo Allons sur le bo_adresse Page 27 sur 107

Vous remarquez que le bo_adresse à une croix rouge et il y a un hyper lien configure business object permettant de configurer ce dernier. Cliquons sur cet hyperlien Page 28 sur 107

L écran suivant apparaît Cliquez sur select source et Page 29 sur 107

Sélectionnez dans la base de données AGENDA, la table DBO.ADRESSES Puis dans l écran cliquez sur ok Page 30 sur 107

Vous obtenez l écran suivant : Faites de même pour les deux autres bo, bo_personnes et bo_titres. Bo_base ne sera pas affecté, il nous sert que pour le code et nous évite de saisir plusieurs fois le même code. Si vous avez fait tous vos bo, vous devez avoir un écran comme ci-dessous Nous allons maintenant indiquer que lorsqu un champ n est pas saisi, le bo doit saisir à la place telle ou telle valeur Par exemple je veux que tous les champs de type string soient remplis d un string.empty si l utilisateur n a rien saisie dans la zone de saisie Page 31 sur 107

Cliquez sur customise wizard system.string fields cliquer sur all fields et sélectionnez puis cliquez sur le bouton check Ensuite ouvrez le tree wiew de agenda et regardez les champs cochés Page 32 sur 107

Ce que nous allons faire maintenant sera fait pour tous les champs qui sont cochés. Cliquez sur set null value option et dans le combo box sélectionnez return alternate on null Et saisissez STRING.EMPTY Page 33 sur 107

Puis dans set trim option, trim right Ne sélectionnez pas trim left and right, faute de quoi, vos utilisateurs ne pourraient pas saisir deux mots mais un seul! Enfin cliquez sur le bouton APPLY et ces spécifications seront attribuées à tous les champs sélectionnés Regardez dans chaque table et voyez les champs qui sont en bleu sont ceux qui sont «customisé» Page 34 sur 107

Intéressons-nous à la table personnes, il y a des champs int qui correspondent à fk_titres et fk_adresse Je souhaite que si l utilisateur ne met pas de titre ou d adresse, je puis avoir facilement titre non sélectionné ou adresse non saisie et pour cela, mon point de repère sera une valuer -1 Je vais donc faire de la même manière customise wizard All interger fields, set null value options return alternate value options -1 apply Page 35 sur 107

Sur toutes les tables, tous les champs sont en bleu sauf les primary key Je peux maintenant faire un rebuild all. Si je reviens en cours de programmation sur une table au lieu de faire un rebuild all, je peux faire un click droit sur la table et faire un partial build Pour un rebuild all vous obtenez l écran suivant Les deux croix sont normales puis que le bo_base n est pas affecté Pour un build partial vous obtenez Page 36 sur 107

Vous pouvez maintenant fermer votre bomapper et il est impératif de générer la solution à ce stade afin que vs voit les bo et toutes leur spécifications Vs vous indique si la génération réussi Nous allons pouvoir maintenant concevoir nos écrans Page 37 sur 107

III - CREATION DES ECRANS DE SAISIES : Commençons par l écran de gestion des titres Sur le projet (vs) agenda, il faut faire un click droit, puis ajouter puis un nouvel élément Comme pour les bo, mais il faut sélectionner SF MAINTENANCE FORM et nommer le fichier FORM_TITRES Page 38 sur 107

Voici l écran obtenu Dans la boîte à outils, sélectionnez le bob bo_titre et faites le glisser dans le formulaire Dans la boîte à outils, sélectionnez l outils strataframe textbox Page 39 sur 107

et faites le glisser sur le formulaire Faite de même pour l outil STRAFRAME LABEL Vous devez obtenir un écran comme celui-ci Page 40 sur 107

Sélectionnez l objet label et afficher la fenêtre de propriété Page 41 sur 107

Dans la propriété text, saisissez Libellé du titre et dans la propriété name, saisissez lbl_libelle_titre Puis sélectionnez le texbox et dans la propriété businesobject, sélectionnez bo_titre1 Puis dans la propriété bindingfield sélectionnez libellé Page 42 sur 107

Enregistrez le formulaire et fermez-le A ce stade on va pouvoir tester déjà l application. Il ne reste que deux petites choses à faire 1 on va lui dire qu il faut parler francais pour ne pas avoir new et next mais nouveau et suivant Pour cela dans l explorateur de solution, faites un double click sur le fichier appmain.vb Vous devez voir Et dans le code qui s affiche, allez à la ligne 125 Remplacez MicroFour.StrataFrame.UI.Localization.GetActiveLanguage("agenda") Par 1036 De manière à lire Page 43 sur 107

Fermez le appmain.vb et enregistrez le Maintenant dans notre menu, dans le form1, vous vous rappelez, le premier automatiquement généré par vs il faut aller sur fichiers, les titres et faire un double click Cela vous génère le code suivant Dans cette sub tapez le code suivant pour appeler le formulaire Dim loform As New form_titres loform.show() de manière à voir Page 44 sur 107

A ce stade nous pouvons démarrer l application. Comme il s agit de la première connexion l assistant de connexion s affiche Faite next Next Page 45 sur 107

Le programme démarre Cliquez sur Fichiers puis Les titres Page 46 sur 107

L écran de titre apparaît Cliquez sur nouveau, et ajouter un titre, Mademoiselle, puis enregistrer, faites de même avec Madame, puis avec Monsieur puis déplacez-vous avec les flèches de déplacements Fermer l écran et cliquez sur fichier quitter pour fermer l application Si vous relanciez le programme maintenant, dans l écran de titre vous ne verriez pas madame mademoiselle et monsieur car nous n avons pas mis de code dans cet écran Nous allons le faire immédiatement Dans l explorateur de solutions, faites un double click sur form_titres Page 47 sur 107

Puis faites un double click sur bo_titre1 qui se situe en bas de l écran Ceci vous ouvre la fenêtre Page 48 sur 107

Dans cette sub, tapez le code suivant pour que le bo_tires1 aille chercher la sub pour lire tous les enregistrements Pour avoir le code suivant Vous vous rappelez, cette sub monter_toutes_les_lignes_de_la_tables c est la sub que nous avons mis dans notre bo_base Notre bo_titre hérite de bo_base Dans le formulaire, le bob o_titre1 hérite de bo_titres Maintenant vous pouvez relancer le programme, vous verrez bien tous les titres que vous avez saisis. Maintenant que nous savons nous déplacer dans notre table, il serait utile de pouvoir lister les titres sous la forme d une grille. Car lorsqu il n y a que trois ou quatre enregistrements, on peut cliquer sur suivant, imaginons la même chose sur la table personnes avec 2000 enregistrements, cela serait fastidieux. Strataframe dispose parmi ces outils d un browse dialog qui nous permet de faire cela et d inclure même une recherche. Ouvrez le forumlaire form_titre, et faisant un double click, vous savez le faire maintenant! Page 49 sur 107

Votre écran est comme ceci Sélectionnez l outils browdialog et faites le glisser sur le formulaire Page 50 sur 107

Remarquez que votre brows dialog ne se place pas sur le formulaire directement, mais sur une bande située en dessous de votre formulaire. C est normal Sélectionnez-le et allez dans la fenêtre de propriété, nous avons plusieurs petites choses à régler Cliquez sur la propriété businesobjectype Et sélectionnez bo_titres puis ok Page 51 sur 107

Puis la propriété businesobjecttopopulate Et sélectionnez bo_titres1 Puis la propriété searchfield Dans cet écran cliquer sur le bouton Page 52 sur 107

Sélectionnez le champ libellé PUIS DANS LE LABEL TEXT, le texte qui apparaîtra. et cliquez sur ok Page 53 sur 107

Et validez avec ok dans l écran Puis la propriété browsresultlayout Cet écran est en deux parties, la partie fields et la partie columns Commençons par field et cliquez sur le bouton pour ajouter Page 54 sur 107

Sélectionnez le champ libellé et validez avec ok Passons à la partie columns, cliquez sur le bouton pour ajouter Indiquez le texte de l entête de la colonne et sa largeur Dans format string, cette colonne étant la première, mettez {0} Page 55 sur 107

Votre écran doit ressembler à ceci Validez sur ok Page 56 sur 107

Puis la propriété formlayout qui nous permettra de définir la taille de l écran Agrandissez l écran ou diminuer le. Vous pouvez changer la taille des deux parties de l écran, Puis cliquez sur ok Page 57 sur 107

Maintenant sélectionnez l objet maintenancetoolstrip qui se situe dans le bandeau en bas à gauche Dans les propriétés de cet objet, sélectionné la propriété browsdialog et sélectionnez l objet browsdialiog1 Bien, relancez votre programme et ouvrez le formulaire titres Un nouveau bouton existe Page 58 sur 107

Cliquez sur ce bouton Faite entrée dans le LIBELLE DU TITRE RECHERCHE Page 59 sur 107

Tapez «Ma» dans le LIBELLE DU TITRE RECHERCHE et vous obtenez Enfin, mettez la coche à options avancées et notez que l on peut chercher avec «commence par», «fini par», «contient», «vaut exactement» Vous savez maintenant faire un formulaire permettant de gérer une table, d ajouter, de supprimer de modifier des enregistrements et de les afficher sous la forme de liste, pour en faire une recherche affinée. Voyons maintenant la création du formulaire personnes. Ce sera le même processus, mais nous aurons sur ce formulaire, trois «bo» et il faudra les lier entre eux Voyons cela Page 60 sur 107

Normalement vous devez avoir un écran qui ressemble à celui-ci Trois bo, bo_personnes1,bo_titres1 et bo_adressse1 Un browsedialog basé sur bo_personnes avec bo_personnes1 pour le businesobjecttopopulate Chaque label se nomme : lbl_nom, lbl_prenom lbl_ad1 etcc. Chaque textbox se nomme : tb_nom,tb_prenom etc Et sur le bo_personnes1, vous avez fait un double click et avez placé le code Page 61 sur 107

Bien. Cela ne suffit pas, il faut maintenant lier les trois bo. Cette opération va se faire en deux temps. Premier temps, au niveau des objets bo du projet Deuxième temps au niveau des objets bo du formulaire Fermez le formulaire personnes pour l instant Dans l explorateur de solutions, sélectionnez le bo_titres et faites un double click sur celui-ci Votre bo est ouvert et dans la fenêtre de propriété Sélectionnez la propriété parentrelationship Saisissez ces valeurs à l aide des combobox Page 62 sur 107

Fermez votre bo et faites de même pour le bo_adresse Fermez le bo et enregistrez-le Revenez maintenant à votre formulaire form_personnes Positionnez-vous sur le bo_titre1 dans le bandeau et dans la fenêtre de propriété, sélectionnez la propriété parentbusinessobject et sélectionnez le bo_personnes1 Faites de même pour le bo_adresse1 Page 63 sur 107

Exécutez votre programme et normalement vous n avez pu rentrer que le nom et le prénom Normalement, vous deviez arriver à ce résultat. Nous allons voir maintenant comment intégrer un combobox pour le titre, afin de pouvoir saisir, monsieur, ou madame, puis nous verrons comment ajouter un enregistrement à la table adresse, afin de saisir l adresse de chacun. Commençons par le combobox Page 64 sur 107

Ouvrez votre formulaire form_personnes Et dans la boîte à outils, sélectionnez le combobox Strataframe et faites le glisser sur votre formulaire Sélectionnez le combobox que vous venez d installer sur votre formulaire, puis allez dans la fenêtre de propriétés Nommez le cbo_titre Page 65 sur 107

Sélectionnez businessobject et normalement, il y a bo_personnes1 Sélectionnez bindingfield et mettez y fk_titre Sélectionnez ensuite populationdatasourcesetting L écran suivant apparait Page 66 sur 107

Cliquez sur Business object type et choisissez BO_TITRES Puis dans méthod to execute, sélectionnez monter_toutes_les_lignes_de_la_table (vous vous rappelez, c est la sub que nous avons mis dans le bo_base et dont les autres bo héritent Page 67 sur 107

Puis cliquez sur le bouton et sélectionnez libelle Page 68 sur 107

Votre écran doit ressembler à ceci Indiquez {0} dans le display member format string et dans le drop-down-display format string Enfin indiquez la valeur que le combo va retourner soit pk_titres Puis cliquez sur ok Sélectionnez la propriété populationtype et choississez businessobject Page 69 sur 107

Faites tourner votre programme et vous pouvez maintenant Indiquer un titre à une personne Enregistrez et faites de même avec l autre personne Nous pouvons donc supprimer notre premier texbox qui ne servira pas et nous déplacerons le combobox pour le ramener à sa place Page 70 sur 107

Votre écran doit ressembler à celui ci Voyons maintenant comment rajouter un enregistrement à la table adresses, afin de pouvoir saisir une adresse à une personne. Pour ce faire, nous allons déposer sur le formulaire form_personnes, deux boutons strataframe. L un nous servira à ajouter un enregistrement pour mettre une adresse. Lorsque nous cliquerons sur ce bouton, il faudra que le programme fasse les opérations suivantes : 1- Ajouter en enregistrement à la table adresse 2- Indiquer dans la table personnes le primary key de l enregistrement ajouter, afin de pouvoir saisir l adresse Et l autre nous servira à enregistrer l adresse dans la table adresses Page 71 sur 107

Déposez un bouton strata sur votre formulaire Dans la fenêtre de propriété, nommez le bouton bout_ajout_adresse et dans la propriété text, indiquez, Ajouter une adresse Page 72 sur 107

Maintenant, faites un double click sur le bouton pour afficher le code Le code devra : Vérifier si la personne n a pas adresse S il elle n en a pas, Ajouter un enregistrement à la table adresse Mettre la pk de l adresse ajoutée, dans le champ fk_adresse de la table personne et sauvegarder. Commençons à taper le code Remarquez que l intellissence vous propose les champs Voici le code à placer dans le bouton Placez un deuxième bouton sur le formulaire, nommez le bouton_svg_adresse, changer le texte du bouton et placez le code suivant dans le click du bouton Page 73 sur 107

Page 74 sur 107

Lorsque nos utilisateurs vont changer de personnes, il faut que le bo_adresse se mette à jour avec la nouvelle personne sélectionnée. Nous allons utiliser pour cela la méthode Navigated du bo personnes. Ainsi { chaque fois que l utilisateur changera de personnes, le code suivant sera executé Comme nous avons appelé la sub monter_toutes_les_lignes_de_la_table, Nous pouvons appeler des méthodes natives de strataframe, et notamment La méthode fillbypriarykey(leparametre) Donc notre cas, Me.Bo_adresse1.FillByPrimaryKey(Me.Bo_personnes1.fk_adresse) Le code de notre formulaire doit ressembler à ceci : Faite tourner votre application et saisissez une adresse. Vous remarquerez que dans les zones comme la ville, lorsque l on tape un mot composé, le deuxième mot viens ce mettre avant le premier. Ainsi, si je tape MORTAGNE SUR IL AFFICHE SURMORTAGNE Page 75 sur 107

Ceci est dû au trim right que nous avons mis dans le bo mapper Il est tout à fait possible de revenir dans le bo mapper et de modifier ce paramètre pour mettre trim left par exemple, ou aucun. Attention, n oubliez pas de remettre string.empty Et trim.left puis apply Enfin un rebuild all changera pour toutes les tables sélectionnées Faites un partial rebuild si vous ne souhaitez changer qu un champ ou plusieurs sur une seule table. N oubliez pas de générer la solution Vous pouvez exécuter votre application Page 76 sur 107

Voici les données que j ai saisies { partir de l application que nous venons de réaliser Page 77 sur 107

III - CREATION DES REPORT ( Etats ) : Dans Visual studio, on peut faire des états à partir de reports natifs de Vs ou de crystal report ou d autres addons style devexpress etc Nous nous attacherons ici à rester avec les éléments natifs de Visual studio Commençons par une liste simple, les titres Le but de cette édition est d arriver { faire une liste de ce type Monsieur Madame Mademoiselle Nous commencerons par créer un nouveau rapport. Pour ce faire, dans l explorateur de solution, sélectionnez la solution AGNEDA et faites un click droit, puis ajouter, puis nouvel élément Page 78 sur 107

Votre écran se présente comme ceci Nous pouvons rajouter une entête de page et un pied de page en faisant un click droit au milieu du corps de l état Page 79 sur 107

Page 80 sur 107

Dans la boîte à outils, prenez une zone de texte et faites la glissez sur l entête de l état, faites de même pour le pied de page. Agrandissez ces zones et tapez du texte { l intérieur Faites un click droit sur la zone de texte qui est dans l entête et sélectionnez propriété de la zone de texte La boîte de dialogue suivante apparaît Page 81 sur 107

Toutes les options ferons l objet d un prochain tutorial spécifique aux états, mais pour l instant allez sur police et changez la police Agrandissez et positionnez en fonction du choix de votre police. Maintenant il nous faut indiquer { l état quelle table il va utiliser Cliquez sur le menu données, ajouter une nouvelle source de données Page 82 sur 107

Sélectionnez Objet, comme type de source de données Puis suivant Page 83 sur 107

Dans cet écran, cliquer sur le petit triangle { gauche de AGENDA, afin de l ouvrir puis mettez la coche à bo_titres Et cliquez sur terminer Maintenant, dans la boîte à outils, sélectionnez l outil table et faites le glisser dans le corps de l état L écran suivant apparait Page 84 sur 107

Cliquez sur source de données et sélectionnez AGENDA Page 85 sur 107

Vous voyez apparaître sur la droite de l écran les colonnes de la table Cliquez sur ok Votre écran doit ressembler à ceci Page 86 sur 107

Amenez la souris sur le bord supérieur de l écran et sélectionnez la colonne Puis faites un click droit et Supprimer la colonne Positionnez votre souris sur la cellule «données» Et faites un click droit et sélectionnez propriété de la zone de texte Page 87 sur 107

La boite de dialogue apparaît Cliquez sur le triangle avec la pointe vers le bas de valeur et sélectionnez libelle Puis cliquez sur ok Page 88 sur 107

Votre écran doit être comme celui-ci Cliquez sur en-tête, juste au-dessus et saisissez LIBELLE DU TITRE De manière à obtenir cet écran Fermez et sauvegardez ce report Page 89 sur 107

Nous allons pouvoir créer un nouveau formulaire que nous allons appeler form_report_lst_titres Faites un clic droit sur le projet AGNEDA,dans l explorateur de solution, et sélectionnez, ajouter, nouvel élément et sélectionnez un SF strandard form Ajouter et agrandissez votre formulaire cliquez sur Dans la boîte à outils, cherchez l outil reportwiever et sélectionnez-le et faites le glisser sur le formulaire Page 90 sur 107

Vous obtenez Dans la boîte à outils, sélectionnez le bob bo_titres et déposez-le dans le formulaire Le bo bo_titres1 est positionné sur le bandeau, mais vous avez l habitude maintenant Page 91 sur 107

Vous allez déposer un autre objet, qui va aussi aller sur le bandeau, c est l outil businessbindingsource Votre écran doit ressembler à ceci. Page 92 sur 107

Faites un double click sur le bo_titres1 et dans Le code tapez Ensuite, sélectionnez l objet Bussinessbindingsource1 et allez dans la fenêtre de propriété businnessobject et sélectionnez le Bo_titres1 Enfin sur l objet reportwiever, dans le coin supérieur droit, cliquez sur le petit triangle noir Page 93 sur 107

La fenêtre taches reportviewer s affiche sélectionnez l état agenda.report_list_des_titres.rdlc Ensuite cliquez sur l hyperlien choisissez la source de données Cette fenêtre s affiche Cliquez sur l instance de source de données bo_titrebindingsource et sélectionnez { la place businessbindingsource1 Page 94 sur 107

Ajuster votre reportviewer au formulaire Et fermez le formulaire et sauvegardez-le Rouvrez le formulaire form1 et dans le menu éditions, liste des titres Faites un double click pour insérer le code suivant Exécutez le programme et normalement vous devriez voir votre édition comme suit : Bien passons { la dernière étape de ce tutorial, l édition des personnes. Nous aurons besoin d afficher le nom, le prénom, l adresse et le titre. Ces éléments sont contenus dans trois tables. Nous allons donc créer une vue et nous baserons notre état sur cette vue Page 95 sur 107

Ouvrez l explorateur de serveur et ouvrez la base agenda, et faites un click droit sur vue, et sélectionnez ajouter une vue L écran suivant apparaît Sélectionnez la table personnes, et cliquez sur ajouter puis adresses et ajouter et enfin titres et ajouter puis cliquez sur fermer Page 96 sur 107

Reliez Fk_adresse à pk_adresse Pour ce faire, cliquez sur fk_adresse de la table personne, rester cliqué et amenez la souris sur pk_adresse de la table adresse Vous obtenez Faites un click droit sur le petit losange du lien entre les deux tables et Page 97 sur 107

Sélectionnez Afficher tous les enregistrements de personnes Le losange doit être complété comme ci-dessous pour afficher toutes les lignes de personnes et les lignes correspondantes d adresse Faites de même en partant de fk_titres de personnes vers pk_titres de titres Page 98 sur 107

Notez la syntaxe sql générée From DBO.personnes, etc.. Maintenant, nous allons sélectionner les champs que nous souhaitons dans notre vue Pour ce faire, à gauche de chaque champ, vous avez un petit carré qui vous permet de sélectionner ou désélectionner le champ. Page 99 sur 107

Notez qu { ce stade, on peut exécuter la vue pour voir ce que cela donne Page 100 sur 107

La requête est ainsi générée et cette zone est modifiable pour ajouter des fonctions telles que coalesce etc.. Fermez et enregistrez votre vue, nommez la vue_personnes_titres_adresse Page 101 sur 107

Votre base de données contient maintenant une vue Nous allons ajouter maintenant dans la solution, un bo pour pouvoir traiter cette vue. Faites un click droit sur le projet agenda et ajouter nouvel élément, SF BUISNESS OBJECT et nommez le BO_vue_personnes_titres_adresses Page 102 sur 107

Cliquez sur l hyperlien pour passer en mode code Et remplacez la ligne Inherits MicroFour.StrataFrame.Business.BusinessLayer Par la ligne Inherits bo_base Puis fermez ce bo et sauvegardez-le Retournons dans le bo_mapper du menu strataframe Sélectionnez BO_vue_personnes_titres_adresse Et cliquez sur configure business object Page 103 sur 107

Puis faites un build partial N oubliez pas de générer la solution Il ne nous reste qu à rajouter un report et le baser sur la vue, comme nous l avons fait pour les titres, d ajouter un formulaire qui contiendra le report, comme nous venons de le faire pour les titres, et de modifier le menu de notre form1 pour mettre du code dans l évènement click Page 104 sur 107

Au final cela doit donner Et notez que cet état peut nativement s exporter en word, en excel ou en pdf Page 105 sur 107

Voilà, nous avons rempli notre contrat, avec Visual studio et Strataframe, nous avons créé une base de donnée AGENDA, nous avons réalisé des écrans permettant la saisie des titres, des personnes et des adresses, et nous avons réalisé deux états permettant de lister les titres et les personnes avec leur adresses. Ce tutorial est volontairement simpliste. Il n a pour but que de vous montrer les bases pour démarrer. Petit { petit, d autres tutoriaux complémentaires viendront étoffer ce projet AGENDA. Nous verrons comment saisir plusieurs adresses pour une personne, comment les afficher sous la forme de grille, comment faire des «combobox multicolonnes», comment gérer les thèmes et le design, la traduction du programme, l accès en réseau et les règles d intégrités des données. Mais l essentiel est de faire les choses dans l ordre. En quelques heures, si vous suivez ce tutorial, vous allez réaliser ce petit AGENDA et aguerrir les bases des séquences d opération { réaliser. Nous nous baserons sur ce projet AGENDA pour l étoffer au fur et à mesure. Page 106 sur 107

A ajouter un textbox dans un formulaire -------------------- 42 Apercu d'un etat dans un formulaire -------- 94 B business object mapper --------------------------------------- 24 C combobox -Parametrer un combobox --------------------- 69 CREATION DE LA BASE DE DONNES --------------------------- 3 CREATION DES ECRANS ---------------------------------------- 41 CREATION DES REPORT ---------------------------------------- 82 Création d'une vue -------------------------------------- 100 Créer un business object -------------------------------------- 19 Créer un menu dans le formulaire -------------------------- 16 CREER UN PROJET VISUAL STUDIO -------------------------- 13 créer unee table --------------------------------------------------- 8 D Déposez un bouton sur un formulaire --------------------- 76 E export de l etat en PDF WORD ou EXCEL --- 109 L le browsdialog ---------------------------------------------------- 54 P parametrer l'application en Francais ----------------------- 46 R Relation entre deux businessobject ------------------------- 66 relier le textbox à un champs --------------------------------- 45 reportwiever -------------------------------------------------- 94 T type de données --------------------------------------------------- 9 V vue ---------------------------------------------------------------- 100 Page 107 sur 107