cs_zaatout
Messages postés156Date d'inscriptiondimanche 19 novembre 2006StatutMembreDernière intervention20 novembre 2013
-
19 févr. 2007 à 08:22
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
21 févr. 2007 à 13:03
Bonjour
Voila j'ai des données dans une table de "4700 patient" affiche sur un MSHFlexGrid.
A l'exécution de programme elle m'affiche que la moitié. Alors j'ai fait un tri j'ai remarque que les noms sont afficher jusqu'a la lettre "E" en ordre alphabétique.................
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 19 févr. 2007 à 18:23
Quel contrôle utilises-tu ?
un contrôle MSHFLXGD.OCX est capable de jusqu'à la limite de mémoire disponible
Ce n'est par contre pas le cas du contrôle MSFLXGRD.OCX, limité quand à lui (mémoire disponible suffisante ou non) à 350,000 total cellules
De toutes manières, même 350000 cellules paraissent duffisantes, à moins que le nombre de tes colonnes, pour 4000 lignes, soit supérieur à 350000/4000 = 87,5 !
J'ignore maintenant quelles seraient les limitations éventuelles inhérentes à ta SGBD.
Tu aurais peut-être intérêt à utiliser un filtre dans ta requête afin de n'afficher que des séries succéssives moins nombreuses d'articles (lire 4000 articles est de toutes façons assez fastifieux...)
cs_zaatout
Messages postés156Date d'inscriptiondimanche 19 novembre 2006StatutMembreDernière intervention20 novembre 2013 20 févr. 2007 à 08:32
Salut
Voici mon exemple
Private Sub Form_Load()
Adodc1.Recordset.Sort = "nom"
Text1.Text = Adodc1.Recordset.RecordCount ------->4666
End Sub
Private Sub MSHFlexGrid1_Click()
For I = 1 To Adodc1.Recordset.RecordCount
MSHFlexGrid1.Row = I
Text1.Text = I -------->2048
Next I
End Sub
ici le compteur m'affiche 4666 enregistrements ...OK
mais quand je deroule la liste "MSHFlexGrid" elle s'arrete a la lettre "E"
ca veut dire il m'affiche les Nom "A,B,C,D,E" la suite des nom ne s'affiche pas!!!!!!!!
j'ai remarque qu'il s'arreter a 2048 enregistrements
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 20 févr. 2007 à 11:33
De quelle façon détermines-tu le nombre de lignes de la grille ?
Est-ce qu'elle est liée au contrôle ADODC ?
Personnellement, je n'utilise jamais de contrôles Data (ADO ou DAO)
J'ai donc peu d'expérience sur leurs limitations
Peut-être pourrais-tu essayer de "forcer" le nombre de lignes de la grille dans le Form_Load (?)
Private Sub Form_Load()
Adodc1.Recordset.Sort = "nom"
Text1.Text = Adodc1.Recordset.RecordCount ------->4666
MSHFlexGrid1.Rows = Adodc1.Recordset.RecordCount
cs_zaatout
Messages postés156Date d'inscriptiondimanche 19 novembre 2006StatutMembreDernière intervention20 novembre 2013 20 févr. 2007 à 16:25
Salut
il se passe rien il m'afficher les noms en order alpahabetique de la lettre A a E
mais quand je fais un filtre par exemple un nom qui commence par F où M où N etc il le trouve
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 20 févr. 2007 à 23:23
>>L? adodc1 permet de définir rapidement une connexion à une base de données au >>moyen des objets Microsoft ActiveX Data Objects (ADO)
Oui, ça je le sais,
mais est-ce que la grille est liéeà cet ADODC ? ou à son Recordset, disons... Est-ce que le nombre de lignes s'ajuste automatiquement selon le Recordcount du Recordset ?
Sinon, est-ce que tu détermines à quelque part le nombre de lignes à afficher ? Dans le code ou dans les propriétés de la grille ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 21 févr. 2007 à 13:03
Ce serait donc peut-être un bug de la Flexgrid en mode "linké"
Le nombre de lignes étant 2048, ça me fait penser à une limitation "prévue" (ou non) du contrôle
2 ^ 11
ou (2 ^ 10) * 2
peu importe, mais si ç'avait été 2356 lignes, j'aurais réagi différemment
2048 fait partie des chiffres "magiques" de l'informatique
C'est un peu comme Excel qui offre des pages contenant 2 ^ 8 colonnes et 2 ^ 16 lignes
Finalement, si tu veux utiliser une Flexgrid, il te faudra probablement la charger "manuellement" sans liaison au contrôle ADODC. Avec une double-boucle, ça se fait assez bien.