pb avec hexecuterequete et table
Stagiaire WDF
Inscrit:
17/05/2004 09:45
Post(s): 7
Bonjour,

J'ai creer une requete mesrdv qui retourne 7 enreg., je voulais afficher le resulat de ma requete dans une table memoire.
La table contient les memes nom de rubriques que ma requete, j'ai defini la source de ma table par progammation puis renseigner le fichier parcouru dans l'onglet de la table mesrdv.
dans la table initialisation suivant l'exemple Gesthotel de windev j'ai renseigner le code suivant
HExécuteRequête(test,hRequêteDéfaut)
et la rien la table est vide
que faire mais le bandeau de la table indique bien les bandes des 7 enreg de la requete
je precise que la case visible de la table est bien coché

Contribution le : 10/05/2005 21:05
Créer un fichier PDF de la contribution Imprimer


Re: pb avec hexecuterequete et table
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

vous avez deux méthodes dispinibles différentes:

Sql est une chaine
Rs est une source de donnees

Sql = 
[
SELECT Clients.IdClient AS IdClient,
Clients.Nom AS Nom,
Clients.Prenom AS [Prénom]
Clients.Adresse As Adresse,
Clients.CodePostal As [Code Postal]
Clients.Ville As Ville
FROM Clients
]

TableSupprimeTout(TABLE)
SI Pas HExecuteRequeteSql(Rs, HRequeteDefaut, Sql) Alors
 Erreur(HErreurInfo())
 Retour
Fin

ConstruitTableFichier(TABLE,Rs,taRemplirTable)
{"TABLE._COL1"}..Visible = Faux

la fonction ConstruitTableFichier() permet de remplir une table mémoire avecle contenu de la requête
les noms mis entre crochets permettent d'insérer des espacess et des caractères diverses qui normallement sont interdit dans les noms
Si vous devez manipuler le résultat de la requête il vous faudra :

Rs.[Prénom] pour prénom alors que pour le nom:
Rs.Nom suffit

La fonction ConstruitTableFichier() supprime les colonnes existante et recréer des colonnes nommées:
_COL1
_COL2
....
_COLn
etc..

La deuxieme méthode consite à remplir manuellement la table en conservant les colonnes créées.
Sql est une chaine
Rs est une source de donnees

Sql = 
[
SELECT Clients.IdClient AS IdClient,
Clients.Nom AS Nom,
Clients.Prenom AS [Prénom]
Clients.Adresse As Adresse,
Clients.CodePostal As [Code Postal]
Clients.Ville As Ville
FROM Clients
]

TableSupprimeTout(TABLE)
SI Pas HExecuteRequeteSql(Rs, HRequeteDefaut, Sql) Alors
 Erreur(HErreurInfo())
 Retour
Fin

Pour Tous Rs
  TableAjoute(Table, Rs.IdClient,...
                   + Rs.Nom,...
                   + Rs.[Prénom],...
                   + Rs.Adresse,...
                   + Rs.[Code Postal])
Fin

Contribution le : 11/05/2005 08:50
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: pb avec hexecuterequete et table
Anonyme
Est il possible de nous expliquer comment utiliser cette ligne pour que çca marche:
Pour Tous Rs
TableAjoute(Table, Rs.IdClient,...
+ Rs.Nom,...
+ Rs.[Prénom],...
+ Rs.Adresse,...
+ Rs.[Code Postal])
Fin


Merci

Contribution le : 08/07/2005 04:02
Créer un fichier PDF de la contribution Imprimer


Re: pb avec hexecuterequete et table
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Les mots clés :
POUR Tout <Fichier>
 //Traitement
Fin

Permettent de parcourir le contenu du fichier
ce fichier peut être un fichier physique, une requete ou bien une source de données.

Dans l'exemple sité il s'agit d'une source de données resultante d'une requete sql via la fonction HexecuteRequeteSql()

donc pour remplir la table nommé Table
je commence par effacer le contenu eventuel de la table
execute la requete qui va me retourner les enregistrements voulus dans le Rs (Source de données déclaré via la ligne)
Rs est une source de données
puis je parcours tous les enregistrements contenu dans le Rs avec les mots clés
Pour Tout Rs
TableAjoute(Table, Rs.IdClient,...
                   + Rs.Nom,...
                   + Rs.[Prénom],...
                   + Rs.Adresse,...
                   + Rs.[Code Postal])
Fin

explication supplémentaire
Rs est le nom de la source de données qui se manipule de la même manière qu'un fichier classique
Rs.[Prénom]
Dans certain cas il est nécessaire de mettre entre crochets le nom des rubrique surtout lorsque celle ci sont soit des mots clés du WLangage, des noms de rubriques contenant des caractères spécifiques ou bien des espaces, ceci afin d'eviter d'avoir une erreur.
Donc Pour Tous à le meme effet et peut être meme plus rapide en execution que la méthode
HLitPremier(Rs)
TantQue pas HEndehors(Rs)
  TableAjoute(Table, Rs.IdClient,...
                   + Rs.Nom,...
                   + Rs.[Prénom],...
                   + Rs.Adresse,...
                   + Rs.[Code Postal])
 HLitSuivant(Rs)
Fin

Le second avantage du mot clé Pour Tous étant de pourvoir lui attribué un filtre directement du Style ou bien sur le parcours d'une rubrique clé :
POUR TOUT Client SUR NumClient
   // Ajout des clients dans la liste
 ListeAjoute(ListeClient, Client.NumClient)
FIN 

ou bien avec un filtre:
Ville = "Lyon" 
POUR TOUT Client AVEC "VilleClient = '"+Ville+"' et AgeClient >= 21" 
    // Ajout des clients dans la liste
    ListeAjoute(<span style="color: 336666">ListeClient</span>, Client.NumClient)
FIN 

ou meme avec un parcours avec filtre sur une clé spécifique
Ville = "Lyon" 
POUR TOUT Client AVEC "VilleClient = '"+Ville+"' et AgeClient >= 21" SUR NumClient
    // Ajout des clients dans la liste
    ListeAjoute(ListeClient, Client.NumClient)
FIN 


Pour plus détail veuillez lire l'aide en ligne associé au mot clé POUR TOUT

Contribution le : 08/07/2005 10:52
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2