Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Détecter la fin de chargement d'une table mémoire

5 réponses
Avatar
Wanadoo
Bonjour,

J'ai un écran avec une table mémoire et une barre de message.
La table mémoire et renseignée grâce à la fonction SQLTable

Mon problème et le suivant : sur certains écran, le nombre de ligne a
afficher est important. Aussi, j'utilise SQLTable avec fetch partiel et
j'affiche un message dans la barre de message de la fenêtre du style
"Patientez pendant le chargement..."

Ce que je voudrais c'est détecter la fin du chargement de la table afin de
supprimer le message dans la barre de message de la fenêtre

Si quelqu'un à une idée
D'avance Merci

5 réponses

Avatar
William
Bonjour
Je ne voudrais pas dire de bétise mais si tu n'utlises pas de thread il
suffit de mettre un message() après ton chargement à ta MAF de table
tableaffiche??

William
"Wanadoo" a écrit dans le message de
news:belu34$vlb$
Bonjour,

J'ai un écran avec une table mémoire et une barre de message.
La table mémoire et renseignée grâce à la fonction SQLTable

Mon problème et le suivant : sur certains écran, le nombre de ligne a
afficher est important. Aussi, j'utilise SQLTable avec fetch partiel et
j'affiche un message dans la barre de message de la fenêtre du style
"Patientez pendant le chargement..."

Ce que je voudrais c'est détecter la fin du chargement de la table afin de
supprimer le message dans la barre de message de la fenêtre

Si quelqu'un à une idée
D'avance Merci




Avatar
Wanadoo
Non Justement,
si cela peut aider, voici mon code

PROCEDURE Refresh_Table_Commune()
ls_Requete est une chaîne

Message("Patientez pendant le chargment SVP ...")
//Construction de la requête des communes
ls_Requete = "Select CODE_INSEE,NCOMMUNE,CPOST,CPAYS From COMMUNE Order By
NCOMMUNE"

TableSupprimeTout(table_commune)
SI SQLReqExiste("REQ") = 1 ALORS
SQLFerme("REQ")
FIN
SI SQLExec(ls_Requete,"REQ") ALORS
SQLTable(50,"REQ",table_commune)
SINON
SQLInfoGene("REQ")
Erreur("Echec du rafraichissement de la liste des communes" + RC +
SQL.MesErreur)
FIN

Message("") <-- S'execute alors que la table continue de se charger

Résultat : J'ai tout de suite les 50 premiers enregistrements et le message
dans la barre de la fenêtre disparaît alors que le chargement continu
Avatar
Phil
Salut,

"Wanadoo" a écrit dans le message news:
bem0og$222$
(...)
TableSupprimeTout(table_commune)
SI SQLReqExiste("REQ") = 1 ALORS
SQLFerme("REQ")
FIN
SI SQLExec(ls_Requete,"REQ") ALORS
SQLTable(50,"REQ",table_commune)



Peut être en utilisant la syntaxe 1 de SQLTable, en effet dans cet syntaxe,
les 50 enregistrements sont chargés en mémoire et les autres sont chargés en
tache de fond. Dans la syntaxe 1 on ne précise pas de nombre de ligne....

(...)
@+

Philippe
Avatar
Wanadoo
Effectivement mais dans ce cas rien ne s'affiche tant que tout n'est pas
chargé
Certe mon message précise que le chargement est en cours mais on a
l'impression que le prog est planté
c'est pourquoi j'utilise un fect partiel

Merci quand même

"Phil" a écrit dans le message de
news:bem16a$dq$
Salut,

"Wanadoo" a écrit dans le message news:
bem0og$222$
(...)
> TableSupprimeTout(table_commune)
> SI SQLReqExiste("REQ") = 1 ALORS
> SQLFerme("REQ")
> FIN
> SI SQLExec(ls_Requete,"REQ") ALORS
> SQLTable(50,"REQ",table_commune)

Peut être en utilisant la syntaxe 1 de SQLTable, en effet dans cet


syntaxe,
les 50 enregistrements sont chargés en mémoire et les autres sont chargés


en
tache de fond. Dans la syntaxe 1 on ne précise pas de nombre de ligne....

(...)
@+

Philippe




Avatar
Phil
Re
"Wanadoo" a écrit dans le message news:
bem3a1$tr6$
Effectivement mais dans ce cas rien ne s'affiche tant que tout n'est pas
chargé
Certe mon message précise que le chargement est en cours mais on a
l'impression que le prog est planté
c'est pourquoi j'utilise un fect partiel

Merci quand même



Alors il faudrait tester sqlinfogene, voir dans l'aide, avec l'option
sql.RecupEnCours que tu testerais dans un timer par exmple

Par contre si je comprends bien l'aide il faudrait faire un sqlpremier
auparavant.. à voir

@+

Phil