cliqueur.fou57
Messages postés7Date d'inscriptionmercredi 5 novembre 2003StatutMembreDernière intervention23 juillet 2009 18 nov. 2004 à 14:40
Grosso modo ta source est pas mal, mise à part quelque petite chose mise en avant par notre ami keke4483. Mais personnellement je rajouterai aussi le faite que quelqu'un qui dois faire de la saisi de stagiaire via cette application peut être gêné lors de la saisie d'un nouveau stage car lors de l'utilisation de la touche « TAB » le changement de champs est un peu trop aléatoire par rapport à leur ordre. De plus lorsque l'on oublie de saisir dans un champ, lors de la validation la fenêtre ce ferme et on perd toute notre saisie (il faudrait mettre un message d'erreur oublie de saisie puis envoyé le curseur dans le champs incriminé mais ne surtout pas clôturer)
Bonne prog. et @ +
fkx
Messages postés44Date d'inscriptionjeudi 29 janvier 2004StatutMembreDernière intervention26 juin 2006 17 nov. 2004 à 13:04
afaf067710928> (Il te manque un chiffre ! ;-) )
Ce serait quoi ton projet ?
(Si tu veux faire un long discours, tu peux me l'envoyer sur fkx_fr-bidon@yahoo.fr, je te répondrais.
Remarque: désolé de te filer une adresse se terminant par "bidon", mais c'est compréhensible sur un site public...)
afaf067710928
Messages postés3Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention12 novembre 2004 12 nov. 2004 à 11:35
SALUT TOUS LE MONDE JE SUIS NOUVELLE A LA PROGRAMMATION J'AI un projet de jeu couleur je quelqu'un pour m'aider
mrboubouc
Messages postés5Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention 9 novembre 2005 11 nov. 2004 à 13:16
je te remerci pour ton aide, j'esserai d'appliquer tes conseils dans mes prochains programmes !!!
je reposterai cette source plutard car je suis entrain de la modifier !!
merci pour vos avis futurs !!
keke4483
Messages postés17Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention 6 mars 2008 10 nov. 2004 à 21:14
Salut j'ai observé ton code, et j'ai quelques obrservations.
Attention tout ce que je dis ci-dessous n'est pas fait pour critiquer ta méthode de programmation
mais pour te proposer d'autre solution qui sur le moment m'ony semblées plus efficace.
- La première remarque concerne les différents control que tu as placé :
Presque aucun des contrôles présent sur tes feuilles n'ont été renommé, rien ne vaut un bon NAME parlant, l'habitude veut
qu'ils soient préfixé de trois lettres et qu'ils aient un nom parlant.
Exemple pour un CommandButton : cmdValider, une Textbox : txtNom ...
Actuellement rien ne me dis que le Command4 est le bouton Modifier, alors que cmdModifier est très parlant.
- J'ai vu que dans ton module tu as créé une fonction pour faire ta connexion à ta BDD, excellent. Mais si la base est défectueuse
tu ne sais pas d'ou viens le problème l'appli se ferme violemment. Une gestion d'erreur aurait été nécessaire :
Tu transforme ta sub en function booléenne
"Public function connectionbd() as boolean
connectionbd = false
On error goto GESTIONERROR
connection.Provider = "microsoft.jet.oledb.4.0;"
connection.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "" & "mlr1.mdb;"
Et la tu sais si ta connexion s'est bien passée. Nhésite pas aussi à faire une fonction de déconnexion.
Parce que avec Acces par exemple si ton appli se faire violemment, il est possible que ta base reste ouvert, et là
c'est terminé ta base est morte.
- Dans le load de ta fenetre principale, tu écris Module1.connectionbd. L'extension Module1 n'est pas nécessaire
Pour la suite j'ai parcouru les fenetres les une apres les autres.
"ajouter" --> personnellement je préfère mettre frmAjouter
- Ici "ajouter.Command2.Caption" ajouter est inutile car tu es déjà dans "ajouter"
- Dans la sub "Command2_Click", le problème de renommage de control est très visible : a quoi correspond tel TextBox ?
- Pour l'insertion de données l'update de record n'est pas conseillé, mieux vaut un bon INSERT SQL.
commande.CommandText = "INSERT INTO stagiaire (NOMSTAGIAIRE, PRENOMSTAGIAIRE,....) VALUES ('TOTO','TATA',....)"
- De plus apparamment tu sais que tel TextBox sert pour tel requete alors fais des contrôles indexés pour ainsi faire des
boucles :
for i = 1 to 16
txtSalarie(i) = Record.Fields(i)
next i
-Pour finir sur la form "ajouter", n'hésite pas à encadrer tes insertions par une transaction (ca évite de mettre en l'air
ta base quand seulement la moitié des actions se font suite à une erreur).
"infoetab", "infomaitre", "infostagiaire"
- Ne charge pas les informations à partir de la fenêtre appelante, crée des sub de chargement dans chaque fenetre, et passe
l'identifiant de la personne traité par le module "Public intIdentPersonne as integer"
"main"
- La première chose que j'ai fais, c'est de saisir du texte dans la combo et de cliquer sur Modifier....
Plantage, il faudra rajouter un petit control sur la validité de la saisie ou tout simplement l'empeché.
- J'ai remarqué aussi que tu faisais des "select * from ..." évite, précise les champs ramenés, parce que si tu rajoutes
le champs PSEUDOSALARIE dans ta table entre le nom et le prenom, tout tes "select" deviennent bancales.
- L'appel de ta fenetre "ajouter" n'est pas modal je peux donc ouvrir deux fenêtres de modification en même temps.
Voila j'en ai terminé pour les solutions possibles.
Je te souhaite une bonne continuation et bonne prog.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 10 nov. 2004 à 19:07
Merci de ne pas inclure de fichier executable dans vos ZIP.
18 nov. 2004 à 14:40
Bonne prog. et @ +
17 nov. 2004 à 13:04
Ce serait quoi ton projet ?
(Si tu veux faire un long discours, tu peux me l'envoyer sur fkx_fr-bidon@yahoo.fr, je te répondrais.
Remarque: désolé de te filer une adresse se terminant par "bidon", mais c'est compréhensible sur un site public...)
12 nov. 2004 à 11:35
11 nov. 2004 à 13:16
je reposterai cette source plutard car je suis entrain de la modifier !!
merci pour vos avis futurs !!
10 nov. 2004 à 21:14
Attention tout ce que je dis ci-dessous n'est pas fait pour critiquer ta méthode de programmation
mais pour te proposer d'autre solution qui sur le moment m'ony semblées plus efficace.
- La première remarque concerne les différents control que tu as placé :
Presque aucun des contrôles présent sur tes feuilles n'ont été renommé, rien ne vaut un bon NAME parlant, l'habitude veut
qu'ils soient préfixé de trois lettres et qu'ils aient un nom parlant.
Exemple pour un CommandButton : cmdValider, une Textbox : txtNom ...
Actuellement rien ne me dis que le Command4 est le bouton Modifier, alors que cmdModifier est très parlant.
- J'ai vu que dans ton module tu as créé une fonction pour faire ta connexion à ta BDD, excellent. Mais si la base est défectueuse
tu ne sais pas d'ou viens le problème l'appli se ferme violemment. Une gestion d'erreur aurait été nécessaire :
Tu transforme ta sub en function booléenne
"Public function connectionbd() as boolean
connectionbd = false
On error goto GESTIONERROR
connection.Provider = "microsoft.jet.oledb.4.0;"
connection.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "" & "mlr1.mdb;"
commande.ActiveConnection = connection
record.CursorLocation = adUseClient
record.CursorType = adOpenDynamic
record.LockType = adLockOptimistic
connectionbd = true
exit function
GESTIONERROR:
connectionbd = false
MsgBox Err.Description
End Sub"
Et la tu sais si ta connexion s'est bien passée. Nhésite pas aussi à faire une fonction de déconnexion.
Parce que avec Acces par exemple si ton appli se faire violemment, il est possible que ta base reste ouvert, et là
c'est terminé ta base est morte.
- Dans le load de ta fenetre principale, tu écris Module1.connectionbd. L'extension Module1 n'est pas nécessaire
Pour la suite j'ai parcouru les fenetres les une apres les autres.
"ajouter" --> personnellement je préfère mettre frmAjouter
- Ici "ajouter.Command2.Caption" ajouter est inutile car tu es déjà dans "ajouter"
- Dans la sub "Command2_Click", le problème de renommage de control est très visible : a quoi correspond tel TextBox ?
- Pour l'insertion de données l'update de record n'est pas conseillé, mieux vaut un bon INSERT SQL.
commande.CommandText = "INSERT INTO stagiaire (NOMSTAGIAIRE, PRENOMSTAGIAIRE,....) VALUES ('TOTO','TATA',....)"
- De plus apparamment tu sais que tel TextBox sert pour tel requete alors fais des contrôles indexés pour ainsi faire des
boucles :
for i = 1 to 16
txtSalarie(i) = Record.Fields(i)
next i
-Pour finir sur la form "ajouter", n'hésite pas à encadrer tes insertions par une transaction (ca évite de mettre en l'air
ta base quand seulement la moitié des actions se font suite à une erreur).
"infoetab", "infomaitre", "infostagiaire"
- Ne charge pas les informations à partir de la fenêtre appelante, crée des sub de chargement dans chaque fenetre, et passe
l'identifiant de la personne traité par le module "Public intIdentPersonne as integer"
"main"
- La première chose que j'ai fais, c'est de saisir du texte dans la combo et de cliquer sur Modifier....
Plantage, il faudra rajouter un petit control sur la validité de la saisie ou tout simplement l'empeché.
- J'ai remarqué aussi que tu faisais des "select * from ..." évite, précise les champs ramenés, parce que si tu rajoutes
le champs PSEUDOSALARIE dans ta table entre le nom et le prenom, tout tes "select" deviennent bancales.
- L'appel de ta fenetre "ajouter" n'est pas modal je peux donc ouvrir deux fenêtres de modification en même temps.
Voila j'en ai terminé pour les solutions possibles.
Je te souhaite une bonne continuation et bonne prog.
10 nov. 2004 à 19:07
9 nov. 2004 à 23:44