Probleme d'etat et de requete !!! [Résolu]

cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 29 juin 2005 à 11:13 - Dernière réponse : cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention
- 1 juil. 2005 à 09:01
aloha ,

Je voudrais savoir si il etait possible de copier les infos d'un grid pour les afficher dans un etat ? En fait pour ceux qui veulent m'aider, j'ai fait une requete sql dans un click de bouton (pas un .qpr) pour obtenir les infos qui m'interessaient et pouvoir les mettre dans un grid (allez voir par ici pour plus d'info : http://www.foxprofr.com/forum.v2.aspx?ID=493444#11 )

Maintenant je dois faire un etat, or je ne sais pas comment faire pour recuperer les infos contenues dans mon grid, car il n'y a que la possibilité de mettre des variables, des champs de tables ou des fonctions de foxpro (exemple: date()) dans un etat.

Please help me !!!
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
FredArmoni 154 Messages postés vendredi 2 mai 2003Date d'inscription 2 avril 2010 Dernière intervention - 29 juin 2005 à 13:03
3
Merci
si tu as fait un SELECT machin FROM .. INTO CURSOR (ou DBF) leNom
tu peux utiliser ça pour la création du report

tu roule ta requete puis :
SELECT leNom
create report monEtat from leNom

ensuite tu modifies mets en page ton report.

par la suite, pour l'utilisation,
tu fais ta requete
SELECT leNom
report form monEtat to printer prompt preview

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP

Merci FredArmoni 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de FredArmoni
Meilleure réponse
cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 1 juil. 2005 à 09:01
3
Merci
Aloha,

j'ai reussi à me depatouiller, j'ai gardé la table temporaire, et j'ai construit mon etat .( En fait je n'avais pas vu que les modification que j'apportais, etaient gardées , donc maintenant l'etat ressemble plus à ce que l'on me demande).
Le seul petit probleme rencontré vient du fait que la table etant temporaire, la visualisation n'est possible que si je lance le programme (comme ca la table existe, ainsi que les valeurs de mes controles de formulaire), sinon il dit qu'il ne trouve pas telle ou telle variable. Mais ca me semble normal !!

Merci de votre aide, et si ma methode n'est pas conseillée, dites le moi !!

Merci cs_spoutnic_37 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de cs_spoutnic_37
cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 29 juin 2005 à 14:43
0
Merci
merci pour ces conseils,

je vais je crois les suivre car je n'arivais pas a reproduire la requete avec l'assistant de requete. Mais c pas encore gagné, la mise en forme va etre difficile, car je dois mettre tout un baratin, et des valeurs de variables de mon etat avant les resultats de la requete.

Au moins l'esentiel, c'est de ne pas rester bloqué !!!
Commenter la réponse de cs_spoutnic_37
FredArmoni 154 Messages postés vendredi 2 mai 2003Date d'inscription 2 avril 2010 Dernière intervention - 29 juin 2005 à 15:38
0
Merci
Tu peux le faire en développement ?
ton bouton qui lance le report, le temps de le créer, tu mais le code CREATE REPORT tonEtat, puis, si tu veux faire de la modif MODIFY REPORT tonEtat, et une fois au point REPORT FORM

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
Commenter la réponse de FredArmoni
cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 29 juin 2005 à 16:03
0
Merci
oui je regardais coment le modifier, mais c pas tres jolie de voir la fenetre de modification s'ouvrir !!!!

Je me demande si je ne devrais pas utiliser une table au lieu d'un cursor avec ma requete. Le probleme c que je ne sais pas ce que je dois faire, car la creation de table doit prendre du temps (acces au disque) et la remplir , alors que le curseur est un fichier temp (qui n'est pas modifiable, ce qui peut poser probleme car je dois rectifier la taille de mes champs).

Quel serait la meilleur solution , un cursor, oui une table???

La table serait peut etre plus pratique car je pourrais preparer mon formulaire avec le gestionnaire car je pourrais mettre la table dans l'environnement de donnée , modifier la taille de mes champs, faire une belle mise en page.
Commenter la réponse de cs_spoutnic_37
FredArmoni 154 Messages postés vendredi 2 mai 2003Date d'inscription 2 avril 2010 Dernière intervention - 29 juin 2005 à 16:40
0
Merci
Exact. Le temps que tu mets en page le REPORT, tu utilises une table, comme tu as dit. une fois que le REPORT est ok, tu repasses au curseur.
(Ceci dit, les curseurs sont de toutes manières aussi des tables...)
Donc, tu executes ton app pour la création de la table. tu quittes.
Ensuite tu crées ton report CREATE REPORT (sans paramètre)
dans l'environnement de donnée de celui-ci, tu ajoutes ta table (que tu vas chercher en table libre, le dbf doit être dans le dossier de ton application) etc...

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
Commenter la réponse de FredArmoni
cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 29 juin 2005 à 17:35
0
Merci
Je verais ca demain , en essayant avec une table .


Il est vrai que le cursor de ma requete crée un table au finale, mais celle si se retrouve dans le fichier temp de windows, et est en lecture seule. La si je créé une table elle sera dans mon repertoire, et je pourrais effectivement la mettre dans l'environnement de donné, et faire appelle a c champs.
De toute facon on verra bien demain!!

Ah , tu essairais pas d'augmenter ton quota de reponse en en envoyant 3 a la suite Fred !!!
Commenter la réponse de cs_spoutnic_37
FredArmoni 154 Messages postés vendredi 2 mai 2003Date d'inscription 2 avril 2010 Dernière intervention - 29 juin 2005 à 18:15
0
Merci
non, je les ai d'ailleurs supprimées.


mais en l'occurence, avec cette réponse, peut être :)


une fois que tu as mis au point ton report avec la table, tu l'inclus dans ton projet (le report) (prends soin dans le report de ne pas utiliser les alias). Ensuite tu supprimes la table de l'environement de données de ton report, puis, tu repasses en curseur et ça devrait rouler (au pire, utilises le même alias pour le curseur et le dbf)

PS: je ne clique qu'une fois pour voir :)
[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
Commenter la réponse de FredArmoni
cs_spoutnic_37 48 Messages postés mardi 7 novembre 2000Date d'inscription 20 septembre 2005 Dernière intervention - 30 juin 2005 à 11:48
0
Merci
Ah décidement,

J'ai remarqué que je pouvais utiliser les enregistrements de ma table temporaire générée par ma requete (donc sans la mentionner dans l'environnement de donnée), mais lorsque je mets un champs dans mon etat qui pointe sur cette table (test.numero, "test" etant ma table),

et que ma table ne contient que deux enregistrements , alors j'ai plusieurs fois la meme ligne ( le premier enregistrement de la table ), qui apparait !!!

Mon exemple n'est pas tres clair , mais g pas envi d'en faire des tonnes si ca ne marche pas au bout du compte.

Comment faire pour que tous mes enregistrements soit pris en compte dans l'etat, et qu'ils ne soit affichés qu'une seule fois ?
Est- ce mal de travailler avec cette table "test" temporaire, et devrais je donc utiliser une table .dbf ?

Je ne sais vraiment pas comment m'en sortir !!!

Merci de votre attention, et surtout de votre patience !!!
Commenter la réponse de cs_spoutnic_37

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.