Vous êtes sur la page 1sur 9

2016

WINDEV AVANCE (CLIENT


SERVEUR SQL)
SERVEUR MySQL

Téléchargez et installez Wampserver

Exécutez-le, il s’affichera dans la barre des tâches

Faîtes un clique gauche dessus et cliquez sur PhpMyAdmin

Créer une base de données finance

Créer un Utilisateur affilié à votre base de données

Dans PhpMyAdmin cliquez dans Utilisateur et Ajouter un utilisateur

Ensuite remplir le Login et le mot de passe de votre choix qui est a répéter.

Dans notre exemple nous prendrons comme Login : « access » et comme mot de passe : « monde »
Ensuite changer les privilèges de access
Tout cocher

Choisir notre base de données (finance) et exécuter

Après quoi installer l’accès natif de windev en fonction de la version que vous utilisez.

L’installation se fait avec la connexion internet :

https://www.pcsoft.fr/st/telec/modules-communs-20/mysql.htm

Après l’installation de l’accès natif copiez le fichier « libmysql.dll » du dossier de wampserver


(le chemin est : C:\wamp\bin\mysql\mysql5.5.24\lib ) et collez le dans le dossier Exe de votre projet
en cours.

Allez à l’initialisation du projet et mettez le code :

MaConnexion est une Connexion

// Description de la connexion
MaConnexion..Utilisateur = "access"
MaConnexion..MotDePasse = "monde"
MaConnexion..Serveur = "MariusBoa-PC" // dépend de votre ordinateur
MaConnexion..BaseDeDonnées = "finance"
MaConnexion..Provider = hAccèsNatifMySQL // permet de gérer le type d'une connexion
(HyperFileSQL Client/Serveur, OLE DB, ...).
MaConnexion..Accès = hOLectureEcriture // permet de connaître et de modifier un
mode d'accès. Cette propriété est utilisable sur une connexion, hOLectureEcriture
Fichier accessible en lecture et en écriture
MaConnexion..InfosEtendues = "Infos étendues"//permet de connaître les informations
supplémentaires d'un fichier de données accédé par un Accès Natif ou HyperFileSQL
Client/Serveur
MaConnexion..OptionsCurseur = hCurseurClient //permet de gérer le type de curseur
utilisé lors d'une connexion (HyperFileSQL Client/Serveur, OLE DB, ...)

SI HOuvreConnexion(MaConnexion) ALORS // Ouvre une connexion à une base de données


spécifique
HChangeConnexion("*","MaConnexion")// Change dynamiquement la connexion
associée à un fichier de données. La nouvelle connexion doit être connue et définie
lors de ce changement. Cette nouvelle connexion sera utilisée lors de la prochaine
ouverture du fichier de données
HCréationSiInexistant("*")
Info("Connexion établie")
SINON
Erreur(HErreurInfo())
FIN
Lancez ensuite la procédure de création de l’exécutable et de l’installable.

Testez
FENETRES ET CODE

FENETRE ENTREPRISE

Initialisation De La Fenêtre Entreprise


req est une Source de Données
textesql est une chaîne

TableSupprimeTout(TABLE_ENT)
textesql="Select IDEntreprises,nom,Telephonne,email from Entreprises "
SI HExécuteRequêteSQL(req,textesql) ALORS
POUR TOUT req

TableAjoute(TABLE_ENT,req.IDEntreprises+TAB+req.nom+TAB+req.Telephonne+
TAB+req.email)

FIN
FIN

Bonton Enrégistrer De La Fenêtre Entreprise


req est une Source de Données
texteSql est une chaîne
p1,p2,p3,p4 sont des chaînes

p1=SAI_id
p2=SAI_Nom
p3=SAI_Télephonne
p4=SAI_email

texteSql="insert into Entreprises (IdEntreprises,nom,telephonne, email) "+...


"values (' "+p1+" ', ' "+p2+" ', ' "+p3+" ', ' "+p4+" ' )"

SI HExécuteRequêteSQL(req,texteSql) ALORS
Info("L’ajout s’est bien déroulé")
TableSupprimeTout(TABLE_ENT)

SI HExécuteRequêteSQL(req,texteSql) ALORS
POUR TOUT req

TableAjoute(TABLE_ENT,req.IDEntreprises+TAB+req.nom+TAB+req.email+
TAB+req.telephonne)
SAIS=""
TABLE_ENT..Etat=Actif

FIN
SINON
Erreur("Erreur d’initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN

FIN

Bonton Supprimer De La Fenêtre Entreprise

req est une Source de Données


textesql est une chaîne

SI OuiNon(0,"Etes-vous sur de vouloir supprimer cet enregistrement ?") ALORS


textesql= "delete from Entreprises where IDEntreprises="+TABLE_ENT.COL_ide
SI HExécuteRequêteSQL(req,textesql) ALORS
Info("Enregistrement supprimé")
TableSupprimeTout(TABLE_ENT)
textesql="Select IDEntreprises,nom,Telephonne,email from Entreprises "
SI HExécuteRequêteSQL(req,textesql) ALORS
POUR TOUT req

TableAjoute(TABLE_ENT,req.IDEntreprises+TAB+req.nom+TAB+req.Telephonne+
TAB+req.email)

FIN
FIN
SINON
Erreur("Erreur d’initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN
FIN
SI TableOccurrence(TABLE_ENT)= 0 ALORS
BTN_Sup..Etat = Grisé
BTN_Mod..Etat = Grisé
FIN

Bonton Modifier De La Fenêtre Entreprise

Ouvre(FEN_ENT_mod,TABLE_ENT.COL_ide)

On crée une fenêtre Modification (fen_mod)

FENETRE MODIFICATION

Bonton Valider De La Fenêtre Modification


req est une Source de Données
textesql,p1,p2,p3,p4 sont des chaînes

p1=Codeent
p2=SAI_Nom
p3=SAI_Télephonne
p4=SAI_email
textesql=" Update Entreprises set Nom=' "+p2+" ' , telephonne=' "+p3+" ' , email=' "+p4+" '
Where IDEntreprises ="+p1
SI HExécuteRequêteSQL(req,textesql) ALORS
Info("La modification s’est bien déroulée")
TableSupprimeTout(FEN_ENT.TABLE_ENT)
textesql="Select IDEntreprises,nom,Telephonne,email from Entreprises "
SI HExécuteRequêteSQL(req,textesql) ALORS
POUR TOUT req

TableAjoute(FEN_ENT.TABLE_ENT,req.IDEntreprises+TAB+req.nom+TAB+req.Telephonn
e+ TAB+req.email)

FIN
FIN

SINON
Erreur("Erreur d’initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN

Ferme

Bonton Fermer De La Fenêtre Modification


Ferme

Vous aimerez peut-être aussi