cs_hanaaz
Messages postés23Date d'inscriptionjeudi 21 juillet 2011StatutMembreDernière intervention30 juillet 2011
-
25 juil. 2011 à 21:17
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
27 juil. 2011 à 18:38
jai une base de donnée que je veux afficher via vb6. A priori, ca marche mais la base s'affiche incomplète!(501 parmi 1200)!c'est quoi le probleme,et surtout comment y remedier?
merci d'avance
:) :D
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 26 juil. 2011 à 19:00
VB6 peut travailler sur des tables aussi grandes que tu veux, la seule limite c'est l'objet que tu utilises pour afficher tout ça. Et afficher 1200 lignes (sans compter les colonnes) ça commence à faire beaucoup ...
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 26 juil. 2011 à 22:16
Ajoute comme composants sur ton form "Microsoft ADO Data Control 6.0" (ADODC). Normalement, tu as déjà "Microsoft DataGrid Control 6.0" (DataGrid). ((Propriétés "en dur")) Force la propriété CommandType à 1 (adCmdText) ((Code)) Affecte la propriété ConnectionString du ADODC et appelle sa méthode Refresh. Ensuite, fais Set Me.dbg.DataSource = Me.adc puis appelle la méthode Refresh de ton DataGrid.
Tout devrait fonctionner Comme dit plus haut, tu devras probablement changer le RecordSource du ADODC (et Refresher le DataGrid, évidemment) en fonction de la page de résultats qu'a choisie l'utilisateur. Essaie un peu ça et poste ton code si ça ne va pas.
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 26 juil. 2011 à 19:30
Tu dois ajouter sur ton form ce qu'il faut pour le défilement : travaille par tranches de 200 lignes (ou un peu plus). De toutes façons, toutes les lignes ne peuvent pas êtres vues d'une fois et l'utilisateur n'aura pas envie d'attendre des plombes pour charger une myriade de lignes qui ne l'intéressent pas. Si tu es sous MySQL, utilise LIMIT limiteBasse,limiteHaute : SELECT * FROM matable LIMIT 600,800 #prend les lignes 600 à 800 de la table.
Tu peux aussi essayer directement de remplir un DataGrid mais je ne suis pas sûr que ça passera (et comme dit plus haut, ça va trainer). Peut-être utilises-tu déjà ce contrôle; si c'est le cas, implémenter une pagination me parait l'idéal
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
cs_hanaaz
Messages postés23Date d'inscriptionjeudi 21 juillet 2011StatutMembreDernière intervention30 juillet 2011 26 juil. 2011 à 19:43
j nutilise pas MySQL.jutilise simplment access ^^
jai rempli datagrid en procédant comme suit:
For b = 1 To a
grille.Row = b
For c = 0 To 13'nmbre des colonnes
grille.Col = c
Select Case c
Case 0
grille.Text = NomTab!PRENOM
Case 1
grille.Text = trans!NOM
'etc...NomTab etant le nom de la table en access et que j vx afficher en vb
avc ceci j parviens dafficher un nmbre limite de lignes
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 27 juil. 2011 à 18:38
(Content que ça fonctionne) Bien plus simple que ton code précédent, donc ... Le problème c'est que tout ce qui est manip de BDD en VB6 n'est pas très bien documenté, on trouve souvent de mauvais exemples.
Si c'est simplement Access tu pourrais aussi envisager d'y mettre directement ton application (il est possible de créer des formulaires "de données" càd des formes qui contiennent des données venant de tables/requêtes). C'est infiniment plus simple à maintenir qu'une application VB6 si tu as des sous-formulaires ou pas mal de forms. Tout ça est programmable en VBA (VB pour Applications, seulement quelques différences avec le bon vieux VB6), ce qui fait qu'on peut y faire à peu près la même chose qu'en VB6
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question