Vous êtes sur la page 1sur 3

Manipulation des donnes avec Windev

Dans WinDev, lors de la cration dun projet manipulant des donnes, vous devez tout dabord crer une "analyse". Une "analyse" contient la description des fichiers (ou tables) contenant les donnes de lapplication. Cest seulement lors de lexcution de lapplication, que ces descriptions sont utilises pour crer la base de donnes et/ou les fichiers de donnes. Cest dans cette base ou dans ces fichiers que seront stockes les donnes. WinDev sait grer diffrents formats de base de donnes (pour ne pas dire tous). Les plus courantes sont : Hyper File, systme de base de donnes intgre WinDev et livre en standard. AS/400, Access, SyBase, ... Oracle, SQL Server, MySQL, xBase, Toute base accessible en langage SQL sous Windows. Texte (fichiers ASCII). Pour accder aux donnes, il existe diffrentes techniques (appeles "modes daccs") : Accs Natif Accs OLE DB Accs ODBC direct Accs ODBC via OLE DB Hyper File : Il sagit dun SGBD Relationnel redistribuable gratuitement. Le format Hyper File est le format de base de donnes fourni avec WinDev. Ce format de base de donnes est commun WinDev et WebDev. La description dun fichier consiste dcrire la structure de lenregistrement qui sera crit dans le fichier. Les rubriques (ou "colonnes") dcoupent lenregistrement. WinDev propose diffrents types de rubriques : Texte ou Mmo texte Numrique ou Montaire Date ou Heure Interrupteur ou Slecteur Liste Image Mmo binaire ... Cration physique dun fichier de donnes Le fichier est dcrit, mais il n'existe pas encore physiquement sur le disque. Il faut le crer par programmation. La fonction HCration cre le fichier vide (sans donnes). Mais attention, si le fichier existe dj, il est recr vide : les donnes existantes sont crases dfinitivement ! La fonction HCrationSiInexistant cre le fichier vide s'il n'existe pas ou bien ouvre le fichier s'il existe dj.

Ajouter un enregistrement Les champs dans la fentre vont permettre de saisir les donnes. Pour enregistrer ces donnes dans le fichier, nous allons ajouter un bouton. Crez un bouton qui a par exemple le nom "CMD_AJOUT" et le libell "Ajouter" avec le code suivant :

EcranVersFichier() HAjoute(ZNsoftClients) Raz() HRaz(ZNsoftClients)


La fonction EcranVersFichier permet dinitialiser les rubriques avec les valeur s des champs lis. La fonction HAjoute ajoute lenregistrement dans le fichier. La fonction Raz remet blanc : tous les champs pour la prochaine saisie. Cela permet ainsi de signaler lutilisateur que l'enregistrement a t ajout, les variables d e fichier (vite de conserver le buffer prcdent en cas dajout partiel de rubriques dans un enregistrement). Visualiser les enregistrements saisis Les champs permettent de saisir des donnes, mais aussi de visualiser les donnes issues du fichier. Nous allons saisir le code pour afficher les donnes.

HLitPremier(ZNsoftClients, IDClient) SI HEnDehors() = Faux ALORS FichierVersEcran() FIN


La fonction HLitPremier va lire le premier enregistrement du fichier selon la cl "IDPRODUIT" et le charge en mmoire. La fonction HEnDehors retourne "Vrai" si le fichier est vide. La fonction FichierVersEcran fonctionne selon le mme principe que EcranVersFichier mais effectue l'opration inverse.

Parcourir les bases de donnes avec Windev


Lorsque vous avez saisi plusieurs enregistrements. Le parcours de fichier s'effectue selon une cl, dans notre exemple selon le numro de produit ("IDCLIENT"). Nous allons ajouter quatre boutons dans notre fentre pour : 1. Passer l'enregistrement suivant : L'enregistrement suivant est celui dont la valeur de la cl suit immdiatement la valeur de la cl de l'enregistrement en cours. 2. Passer l'enregistrement prcdent : L'enregistrement prcdent est celui dont la valeur de la cl prcde immdiatement la valeur en cours. 3. Passer au premier enregistrement : Le premier enregistrement est celui qui a la plus petite valeur de cl. 4. Passer au dernier enregistrement : Le dernier enregistrement est celui qui a la plus grande valeur

de cl. Crez quatre boutons qui ont pour nom par exemple "CMD_PREMIER", "CMD_PRECEDENT", "CMD_SUIVANT", et "CMD_DERNIER". Le code de ces boutons sera :

//Bouton CMD_premier : appeler le premier HLitPremier(ZNsoftClients, IDCLIENT) SI HEnDehors()=Vrai ALORS Info("Aucune fiche visualiser") SINON FichierVersEcran() FIN //Bouton CMD_prcdent : appeler le prcdent HLitPrcdent(ZNsoftClients, IDCLIENT) SI HEnDehors()=Vrai ALORS Info("Aucune autre fiche visualiser") SINON FichierVersEcran() FIN //bouton CMD_Suivant : appeler le suivant HLitSuivant(ZNsoftClients, IDCLIENT) SI HEnDehors()=Vrai ALORS Info("Aucune autre fiche visualiser") SINON FichierVersEcran() FIN //Bouton CMD_dernier : appeler le dernier HLitDernier(ZNsoftClients, IDCLIENT) SI HEnDehors()=Vrai ALORS Info("Aucune fiche visualiser") SINON FichierVersEcran() FIN