FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Lenteur Fichier vers Ecran
Lenteur Fichier vers Ecran
Débuté par contact, 18 nov. 2005 19:46 - 2 réponses
Connectez-vous…
contact
#1
Posté le 18 novembre 2005 - 19:46
Bonjour
j'utilise la commande FichierVersEcran pour affecter a des champs les données lues par hlitpremier et hexecuterequete.
Je lis un seul enregistrement à l'aide d'une requete intégrée. L'execution de la requete et du hlitpremier est rapide (<1 s. en client serveur SQL Serveur via OLEDB - liaison Adsl 8Mo)
Par contre, le fichierversEcran prend 5 secondes... Ce qui me ralentit l'éxécution. Je n'utilise pas le RAD.
Avez vous une solution pour optimiser cette instruction ? ou comment peut on faire autrement ???
Merci de vos réponses et conseils
Hervé
Signaler
0
0
contact
#2
Posté le 21 novembre 2005 - 10:09
Bon ben je me réponds à moi meme car j'ai trouvé la soluce.
Il suffit de ne pas faire un fichierversecran mais d'enumerer les champs du formulaire et de leur affecter les rubriques de la table lues.
Attention, les champs doivent avoir les memes noms que les rubriques. De plus, pour gérer les modifs il faut passer par du SQL (UPDATE par exemple lors du clic sur un bouton enregistrer.
Voici le code (ou RQ_FICHEINTERVENTION est execute par hexecuterequetesql)
ResChamp est une chaîne
I est un entier=1
ResChamp=EnumèreChamp(FicheOnglet[1],I)
TANTQUE ResChamp<>""
// Permet de ne prendre que les champs
SI ChaîneOccurrence(ResChamp,"Séparateur")=0 ET ChaîneOccurrence(ResChamp,"BTN")=0 ALORS
{ResChamp}..Valeur={"RQ_FICHEINTERVENTION." + ResChamp}
FIN
I++
ResChamp=EnumèreChamp(FicheOnglet[1],I)
FIN
Signaler
0
0
contact
#3
Posté le 21 novembre 2005 - 11:35
La meme chose sous la forme d'une procédure
ou Loc_données est le nom de la source de données (chaine), et monobjet un objet de type formulaire ou onglet compatible avec ResChamp.
Utilisation; rempliecran("Rq_FicheIntervention",FicheOnglet[1]) par exemple
*******
PROCEDURE RempliEcran(Loc_Donnees est une chaîne, MonObjet)
ResChamp est une chaîne
I est un entier=1
ResChamp=EnumèreChamp(MonObjet,I)
TANTQUE ResChamp<>""
SI ChaîneOccurrence(ResChamp,"Séparateur")=0 ET ChaîneOccurrence(ResChamp,"BTN")=0 ALORS
// Gestion des heures
// trace({reschamp}..type, reschamp)
SI {ResChamp}..Type 003 ALORS
Trace(Droite({Loc_Donnees +"." + ResChamp},9))
{ResChamp}..Valeur=Droite({Loc_Donnees + "." + ResChamp},9)
SINON
{ResChamp}..Valeur={Loc_Donnees + "." + ResChamp}
FIN
FIN
I++
ResChamp=EnumèreChamp(MonObjet,I)
FIN
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte