Probleme d'etat et de requete !!!

Résolu
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005 - 29 juin 2005 à 11:13
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005 - 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 !!!

9 réponses

FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
29 juin 2005 à 13:03
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
3
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
1 juil. 2005 à 09:01
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 !!
3
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
29 juin 2005 à 14:43
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é !!!
0
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
29 juin 2005 à 15:38
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
29 juin 2005 à 16:03
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.
0
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
29 juin 2005 à 16:40
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
0
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
29 juin 2005 à 17:35
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 !!!
0
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
29 juin 2005 à 18:15
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
0
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
30 juin 2005 à 11:48
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 !!!
0
Rejoignez-nous