PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [BUG ??] Probleme avec requète sql pendant la lecture d'un fichier xlsx
[BUG ??] Probleme avec requète sql pendant la lecture d'un fichier xlsx
Débuté par g.L, 23 jan. 2024 16:24 - 5 réponses
Membre enregistré
132 messages
Posté le 23 janvier 2024 - 16:24
Bonjour j'ai un gros bug et je n'arrive pas a comprendre alors je partage mon code le résultat et je vous explique
VOICI LE CODE :
xlsNombreFeuille = xlsNbFeuille(xlsDoc)

POUR i = 1 À xlsNombreFeuille
xlsDoc..Feuille=i
HLitRecherchePremier(CLIENT,IDCLIENT,xlsDoc..NomFeuille)
SI HTrouve(CLIENT) ALORS
// trace(client.IDCLIENt +" "+xlsDoc..NomFeuille)
requete est une chaîne ="SELECT * FROM APPLICATION WHERE LIBAPPLICATION='"+NomAPP+CLIENT.IDCLIENT+"'"
HExécuteRequêteSQL(reqApp,hRequêteDéfaut,requete)
SI HTrouve(reqApp) ALORS
Trace(reqApp.LIBAPPLICATION)
SINON
Trace("application inexistante +"+reqApp.LIBAPPLICATION+"")
FIN
SINON
Trace("client inexistant "+i +"")
FIN
FIN


RESULTAT SANS POINT D'ARRET





RESULTAT AVEC POINT D'ARRET (parce que oui avec des point d'arret sur le si Htrouve(reqApp) ça marche :merci:







AU SECOUR !!!!!!!!!!!!!!!!!!!!! JE comprend pas pourquoi avec des point d'arret ça marche et sans ça marche plus ....

en plus de ça je doit faire 4 ou 5 essai sur ce forum a chaque fois que je veux mettre une image parceque ça marche 1
fois sur 5 ... HELP ME
Membre enregistré
1 047 messages
Posté le 23 janvier 2024 - 17:29
Bonjour g.L
Ce n'est pas la première fois que je le dis :
Concernant les noms des images à intégrer dans un post sur ce forum, il faut bannir les espaces, caractères avec des accents, caractères spéciaux, etc...
Donc, pour publier une image, l'idéal est d'utiliser uniquement des lettres de [a à z] et les chiffres de [1 à 9] et RIEN D'AUTRE.

Ensuite, il y a peut-être un autre souci sur le forum.
Il m'arrive au moment où j'appuie sur envoyer de perdre le contenu de mon message.
>Cdlt
Membre enregistré
1 047 messages
Posté le 23 janvier 2024 - 18:35
Pour l'erreur, essaie d'ajouter des trace supplémentaires, par exemple un Trace(requete) avant HExécuteRequêteSQL(reqApp,hRequêteDéfaut,requete),
C'est bizzare mais la question laisse l'impression que le résultat n'est pas disponible au moment où la requête est exécutée.
Cdlt
Membre enregistré
2 321 messages
Posté le 23 janvier 2024 - 19:09
Bonjour, la syntaxe recommandée est la suivante :

xlsNombreFeuille = xlsNbFeuille(xlsDoc)

POUR i = 1 À xlsNombreFeuille
xlsDoc..Feuille=i
HLitRecherchePremier(CLIENT,IDCLIENT,xlsDoc..NomFeuille)
SI HTrouve(CLIENT) ALORS
// trace(client.IDCLIENt +" "+xlsDoc..NomFeuille)
requete est une chaîne ="SELECT * FROM APPLICATION WHERE LIBAPPLICATION='"+NomAPP+CLIENT.IDCLIENT+"'"
SI HExécuteRequêteSQL(reqApp,hRequêteDéfaut,requete) ALORS
Trace(reqApp.LIBAPPLICATION)
SINON
Trace("application inexistante +"+reqApp.LIBAPPLICATION+"")
FIN
Trace("client inexistant "+i +"")
FIN


--
Bon dev,
Jean-Pierre
Posté le 24 janvier 2024 - 09:16
g.L a écrit :
Bonjour j'ai un gros bug et je n'arrive pas a comprendre alors je partage mon
code le résultat et je vous explique
VOICI LE CODE :
xlsNombreFeuille = xlsNbFeuille(xlsDoc)

POUR i = 1 À xlsNombreFeuille
xlsDoc..Feuille=i
HLitRecherchePremier(CLIENT,IDCLIENT,xlsDoc..NomFeuille)
SI HTrouve(CLIENT) ALORS
// trace(client.IDCLIENt +" "+xlsDoc..NomFeuille)
requete est une chaîne ="SELECT * FROM APPLICATION WHERE
LIBAPPLICATION='"+NomAPP+CLIENT.IDCLIENT+"'"
HExécuteRequêteSQL(reqApp,hRequêteDéfaut,requete)
SI HTrouve(reqApp) ALORS
Trace(reqApp.LIBAPPLICATION)
SINON
Trace("application inexistante +"+reqApp.LIBAPPLICATION+"")
FIN
SINON
Trace("client inexistant "+i +"")
FIN
FIN


RESULTAT SANS POINT D'ARRET





RESULTAT AVEC POINT D'ARRET (parce que oui avec des point d'arret sur le si
Htrouve(reqApp) ça marche :merci:







AU SECOUR !!!!!!!!!!!!!!!!!!!!! JE comprend pas pourquoi avec des point
d'arret ça marche et sans ça marche plus ....

en plus de ça je doit faire 4 ou 5 essai sur ce forum a chaque fois que je
veux mettre une image parceque ça marche 1
fois sur 5 ... HELP ME


bonjour,

HExécuteRequêteSQL(reqApp,...)
HLitPremier(reqApp)
SI PAS HEnDehors(reqApp) ALORS
....
FIN

--
Cordialement JeAn-PhI
Membre enregistré
132 messages
Posté le 24 janvier 2024 - 11:01
Cédric_34 a écrit :
Bonjour g.L
Ce n'est pas la première fois que je le dis :
Concernant les noms des images à intégrer dans un post sur ce forum, il faut bannir les espaces, caractères avec des accents, caractères spéciaux, etc...


Salut Cédric oui je sais je n'ai mis que des lettre et pour la meme image parfois ça marche tout de suite et parfois ça marche pas 3 ou 5 fois d'affiler avant de marcher avec la meme image


Ensuite, il y a peut-être un autre souci sur le forum.
Il m'arrive au moment où j'appuie sur envoyer de perdre le contenu de mon message.

euh chaud comme bug de tout perdre comme ça ^^


bonjour du coup j'ai juste ajouter un hlitpremier(reqApp)
et ça fonctionne
la syntaxe que tu propose Jean-Pierre c'est pour vérifier que la requete fonctionne mais pas pour vérifier qu'il trouve bien un utilisateur meme dans l'aide pcSoft ils mettent un hlit
ReqClient est une Source dede Données
SI PAS HDécritConnexion("MaConnexion", "sa", "","SQLNATIF", "", ...
hAccèsNatifSQLServer, hOLectureEcriture) ALORS
Erreur(HErreurInfo())
SINON
// Ouverture de la connexion
HOuvreConnexion("MaConnexion")
Sablier()
// Exécution de la requête
SI HExécuteRequêteSQL(ReqClient, "MaConnexion", hRequêteDéfaut, ...
"SELECT * FROM Economat") ALORS
// Parcours du résultat
HLitPremier(ReqClient)
SI PAS HEnDehors(ReqClient) ALORS
FichierVersTableMémoire(TABLE_MaTable, ...
ReqClient)
FIN
FIN
Sablier(Faux)
FIN