michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 13 janv. 2005 à 16:06
Bonjour,
un rapport (fichier frx) est une table, que tu peux ouvrir par programmation comme une autre avec un use monfichier.frx.
le contenu des tables frx est documenté dans le dossier filespec (C:\Program Files\Microsoft Visual Studio\Vfp98\Filespec pour VFP6, et C:\Program Files\Microsoft Visual FoxPro 8\Tools\Filespec pour VFP8), soit en ouvrant le 60spec.pjx soit en imprimant les report 60frx1 et 60frx2.
Le plus simple pour faire des reports "à la volée", c'est de partir sur un frx de base, pour ne pas avoir à récréer tous les champs.
Après, c'est juste une affaire de patience...
Attention, même si tu ne l'utilises pas, un frx a toujours besoin d'un alias sur lequel se baser
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 janv. 2005 à 10:26
Que veux-tu dire exactement, je crains de ne pas bien comprendre...
Sur ta table monrapport.frx, tu ne modifies aucun champ, tu ajoutes et/ou modifies des enregistrements. Pour t'entrainer, commence par faire des rapports avec le générateur (comme d'habitude) et à les examiner ensuite en les ouvrant en browse sur la table (tu dois être sorti du générateur) :
1 premier frx avec quelques champs et étiquettes dans la ligne de détail
le même en changeant les attributs des ces controles
1 autre avec en +, des traits, boites, etc... (toujours en ligne de détail)
et la même chose avec les bandes d'en-tête et de pied d'état, de page
et encore la même chose avec des regroupements
à chaque essai, tu fais des modifs dans le générateur, et tu regardes ce qui a changé en mode browse,...
puis l'inverse...
jee0404
Messages postés131Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention27 octobre 2009 14 janv. 2005 à 14:38
Ok , merci pour l'information , mais le problème c'est que je ne peut pas changé les enregistrements , car ils sont en read-only , j'ai essayé de faire une copie du frx pis ensuite essayer de changer les enregistrement , mais ils sont aussi en read-only :(. bref , je ne peut pas modifier les enregistrements .
Vous n’avez pas trouvé la réponse que vous recherchez ?
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 janv. 2005 à 15:05
Peux-tu modifier ce report avec le générateur, et enregistrer tes changements?
si oui, alors ton fichier est ok, si non, vérifie les attributs du fichier.
quand tu ouvres ton fichier pour en faire un browse :
Le générateur d'état est-il bien fermé ?
n'es-tu pas en train de faire un report form dessus ?
si oui à une des questions, alors le read-only est normal, si non, alors :
use monfichier.frx in 0 alias monfichier
select monfichier
copy to montest.frx
use in "monfichier"
use montest.frx
jee0404
Messages postés131Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention27 octobre 2009 17 janv. 2005 à 15:14
oui , je peut modifier ce rapport avec le générateur de foxpro et quand tu parle du générateur d'état est-ce que c'est bien le programme qui te permet de changer les rapport ? ou le générateur du projet ?
et moi j'utilise le code suivant et il me retourne ELECT 0
USE justeun.frx ALIAS _1
BROWSE
SELECT _1
COPY TO fake.frx
SELECT 1
USE IN "_1"
USE fake.frx alias _2
? ISREADONLY('_2')
POS = 1
DO WHILE UNIQUEID <> "_1590JINXM"
GO POS
POS = POS+1
ENDDO
repl expr with ;
strtran(expr,"BONJOUR","salut mon ron") ** cette me génére l'erreur cannot update ** the cursor _2 since it is read-only
BROWSE
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 17 janv. 2005 à 17:19
Oui, le générateur d'état, c'est bien le programme qui permet de créer/modifier les rapports. Je n'ai jamais observé le problème que tu décris, alors on va essayer de comprendre !
que se passe-t-il si tu quittes fox après avoir fait ton copy to fake.frx ?
que se passe-t-il si tu copies ton justeun.frx (et son frt) par l'explorateur windows, et que tu essaies tes replace sur ce fichier ensuite ?
et quand tu es en browse sur ta copie, peux tu modifer un memo
et que se passe-t-il si tu fais (je ne suis pas très partisan d'utiliser des alias de la forme"_1", d'expérience on risque des cafouillages...) :
USE justeun.frx ALIAS "essai1" in 0
SELECT essai1
COPY TO fake.frx
USE fake.frx alias "essai2" again in 0
jee0404
Messages postés131Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention27 octobre 2009 17 janv. 2005 à 20:21
Ma version de foxpro est la version 8 , quand j'ai faite exécuté les lignes de code que tu me donner , il a y générer une erreur "cannot update the cursor ESSAIE2, since it is read-only" , non je ne peut pas modifier un mémo quand je suis en browse, je peut quitter fox normalement apres avoir faite un copy to .
Ha oui , juste une question hors sujet on peut tu utiliser des dll en visual basic dans des programme de foxpro ? , genre le dll de pageset.dll
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 18 janv. 2005 à 16:59
tu es certain que tu travailles sur un support sur lequel tu as le droit d'écrire (pas sur un CD, par exemple...) parceque malgré tous mes efforts, je n'arrive pas à reproduire cette erreur!