OVH Cloud OVH Cloud

datagrid URGENT

4 réponses
Avatar
jc2nantes
Bonjour,

Ben c'est la bazar quand je veux atteindre un enregistrement aléatoirement
dans une DATAGRID avec la fonction datagrid1.row
La grille est basée sur une database ADO et remplie via une requete.

V'la le code :

Randomize
z = Int(Rnd * rst.RecordCount)
DG1.Row = z

Dés fois ça coince et j'obtiens : erreur 6148 Numéro de Zone Incorrect

Pourquoi !

Merci de votre aide

JC

4 réponses

Avatar
michel
Bonjour
Peut etre quand Rnd renvoie Zero tu crois pas ?
--
Michel
"jc2nantes" a écrit dans le message de news:
44eed407$0$22753$
Bonjour,

Ben c'est la bazar quand je veux atteindre un enregistrement aléatoirement
dans une DATAGRID avec la fonction datagrid1.row
La grille est basée sur une database ADO et remplie via une requete.

V'la le code :

Randomize
z = Int(Rnd * rst.RecordCount)
DG1.Row = z

Dés fois ça coince et j'obtiens : erreur 6148 Numéro de Zone Incorrect

Pourquoi !

Merci de votre aide

JC



Avatar
jc2nantes
et bien non quand ça plante z n'est pas égal à 0 !!!


"michel" a écrit dans le message de
news: %
Bonjour
Peut etre quand Rnd renvoie Zero tu crois pas ?
--
Michel
"jc2nantes" a écrit dans le message de news:
44eed407$0$22753$
Bonjour,

Ben c'est la bazar quand je veux atteindre un enregistrement
aléatoirement dans une DATAGRID avec la fonction datagrid1.row
La grille est basée sur une database ADO et remplie via une requete.

V'la le code :

Randomize
z = Int(Rnd * rst.RecordCount)
DG1.Row = z

Dés fois ça coince et j'obtiens : erreur 6148 Numéro de Zone Incorrect

Pourquoi !

Merci de votre aide

JC







Avatar
Eric
Bonjour,

Que se passe-t-il si tu fais:
Randomize timer
DG1.row=int(rnd*DG1.rows)
ou si tu as une ligne fixe dans ton DataGrid (la 1ere en général,
propriété DataGrid.FxedRow)
DG1.row=int(rnd*DG1.rows)+1
(l'index de la 1ere ligne commence à 0 dans la collection Rows)

où rows = rst.recordcount si tu as parcourru le jeu d'enregistrements ou
encore rst.recordcount + 1 si tu as une ligne pour les noms des champs.
(Attention, je crois qu'ADO travaile en asynchrone)



et bien non quand ça plante z n'est pas égal à 0 !!!


"michel" a écrit dans le message de
news: %

Bonjour
Peut etre quand Rnd renvoie Zero tu crois pas ?
--
Michel
"jc2nantes" a écrit dans le message de news:
44eed407$0$22753$

Bonjour,

Ben c'est la bazar quand je veux atteindre un enregistrement
aléatoirement dans une DATAGRID avec la fonction datagrid1.row
La grille est basée sur une database ADO et remplie via une requete.

V'la le code :

Randomize
z = Int(Rnd * rst.RecordCount)
DG1.Row = z

Dés fois ça coince et j'obtiens : erreur 6148 Numéro de Zone Incorrect

Pourquoi !

Merci de votre aide

JC









--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
...
Lire FixedRows et non FxedRow. Mais après reflexion, suis pas sûr qu'un
DataGrid a une propriété FixedRows, ce qui est le cas avec un MSFlexGrid
ou MSHFlexGrid.

et encore travailLe plutot que travaile

Pour les autres, je shunte ;-)

Bonjour,

Que se passe-t-il si tu fais:
Randomize timer
DG1.row=int(rnd*DG1.rows)
ou si tu as une ligne fixe dans ton DataGrid (la 1ere en général,
propriété DataGrid.FxedRow)
DG1.row=int(rnd*DG1.rows)+1
(l'index de la 1ere ligne commence à 0 dans la collection Rows)

où rows = rst.recordcount si tu as parcourru le jeu d'enregistrements ou
encore rst.recordcount + 1 si tu as une ligne pour les noms des champs.
(Attention, je crois qu'ADO travaile en asynchrone)





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr