MOTS CLÉ DE VB6

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 15 déc. 2012 à 10:28
cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010 - 17 déc. 2012 à 09:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54812-mots-cle-de-vb6

cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010
17 déc. 2012 à 09:15
Attention, en bdd il ne faut jamais utilisé de "SELECT * " (sauf avec un Count...) car si un jour pour des raisons de maintenance on venait à ajouter une colonne : 1) Ton code risque de ne plus fonctionner 2) Dans le meilleur des cas tu ralentis la récupération de données (il suffit d'imaginer que la colonne que tu rajoutes soit de type Blob avec des vidéos de démo !)
;)
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
16 déc. 2012 à 12:21
Très bon boulot (hormis quelques corrections de fonctionnement).
Reste aussi à corriger l'orthographe à certains endroits, tu es faché avec le S de "conStante" par exemple (3 fois) mais cela reste un travail excellent surtout pour ceux qui commence avec VB6. J'avoue qu'il y a quelques années cela m'aurait été bien utile, mais je suis passé à .NET maintenant, mais VB6 m'intéresse encore beaucoup.
Bonne prog et merci pour ce travail qui n'a surement pas été simple (j'ai mis 10 ca les vaux).
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
16 déc. 2012 à 10:50
Supprimer Xa=... résout le bug d'impression.
Encore un autre bug : cliquer sur le nom d'une catégorie quand on est dedans ou sur une ligne vide crashe l'appli.

Et cette intro est absolument inutile et pénible pour l'utilisateur. 1,5 seconde suffit largement.
cs_Cheval Messages postés 81 Date d'inscription dimanche 21 juillet 2002 Statut Membre Dernière intervention 11 octobre 2015
15 déc. 2012 à 17:44
Je sais j'ai pas mal d'erreur de programation... Mais j'ai des causes aténuantes... le premier basic que j'ai eu ,il y a 40 ans et il est dificile de ce défaire des mauvaises habitude!!!!
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 déc. 2012 à 14:36
Il te faut corriger ceci : Dans les OpenDatabase, il faut inclure le répertoire, exemple :
Set MaDB = Espace.OpenDatabase(App.Path & "\MOTCLES.MDB")

"On Error Resume Next" ne doit être utilisé que dans des cas très particuliers et n'est pas là pour masquer un code qui ne prend pas le soin de tester la présence d'objet ou de contenu. C'est un piège que tu dresses toi même et qui te fera perdre du temps un jour, puisqu'il masque une erreur évitable; exemple :
- Set RsUsers = MaDB.OpenRecordset("SELECT * FROM Liste")
- On Error Resume Next
- RsUsers.MoveLast
Supprime le "On Error" et mets en place un If :
If RsUsers.RecordCount > 0 Then
et ensuite, tu peux faire tes Move

Beaucoup d'à peu près :
Quand tu charges ta DB, toutes ces syntaxes sont identiques :
- Set RsUsers = MaDB.OpenRecordset("SELECT * FROM Liste WHERE MotsCles")
- Set RsUsers = MaDB.OpenRecordset("Liste")
- Set RsUsers = MaDB.OpenRecordset("SELECT * FROM Liste")
(avec la palme de l'inutile pour la première syntaxe)
Dans la mesure où tu répètes ces actions plusieurs fois, il aurait été souhaitable de mettre ce code dans une Sub ou une Function et de l'appeler quand cela est utile.
De plus, les données n"tant pas sujettes à modification, pourquoi les relire sans cesse ?

Nous voilà revenu à l'époque du minitel : Tout en majuscules ! Pouah!
Dommage aussi que tout ton code ne soit pas indenté, ce qui le rend illisible.
De plus, on le crie à longueur de journée sur le forum : DAO est obsolète et il faut utiliser ADO :
DAO = moteur de DB présent par défaut pour les syntaxes comme "Dim maDB As Database"
Bien sûr, il fonctionne à peu près, mais, par exemple, la méthode .Find ne fonctionne pas toujours (bug connu)
ADO = moteur très ressemblant à DAO. Il faut ajouter la référence à "MS ActiveX Data Objects". Voir les différents exemples parmi les sources du site et le forum.

Quel dommage. L'idée était bonne.
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 déc. 2012 à 10:28
Pourquoi du full-screen ? Pourquoi ne pas utiliser un TreeView pour présenter le contenu ?
Bug à l'impression : pas de marge à droite donc le texte "dépasse" et est illisible une fois imprimé.
Rejoignez-nous