abcdef70
Messages postés10Date d'inscriptionsamedi 12 août 2006StatutMembreDernière intervention 4 avril 2009
-
28 mars 2009 à 01:01
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
5 avril 2009 à 18:55
J'ai un probleme de synchronisation de mes tables, certain calcul dépende d'autre tables, mais celles-ci ne sont pas positionné sur la bonne fiche avant que le calcul soit effectué..
J'ai les tables suivantes (avec relation maitre-détail) :
Le problème est que lorsque je passe d'une personne à une autre en naviguant la TablePersonneMaitre, le calcul est effectué dans TableAchat avant que TableBanque pointe sur la bonne personne. Ainsi, le calcul est toujours selon le montant en banque de la personne précédamment visionné. Y a t'il un moyen de spécifié l'ordre dans lequel les tables doivent être resynchronisé, pour que TableBanque soit positionné sur la bonne personne avant que TableAchat fasse le calcul?
abcdef70
Messages postés10Date d'inscriptionsamedi 12 août 2006StatutMembreDernière intervention 4 avril 2009 29 mars 2009 à 08:30
Je ne peux pas utiliser cette méthode, car la table Achat n'est pas dans le Datamodule avec la table maitre et la table banque, elle est dans une form pour les achat, créé quand j'en ai besoin.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 29 mars 2009 à 13:08
car la table Achat n'est pas dans le Datamodule
ce n'est pas un problème, il faut aller chercher le query par :
NomForm.Query.fieldByName('NomChamp').Value
la table banque, elle est dans une form pour les achat, créé quand j'en ai besoin.
Au moment où le calcfields se déclenche, il faut bien entendu que les champs des query soient dans des formes actives..
il faut peut être revoir la conception, mais ça ne me semble pas bien méchant..
Certaines formes peuvent être créés automatiquement au démarrage de l'appli..
abcdef70
Messages postés10Date d'inscriptionsamedi 12 août 2006StatutMembreDernière intervention 4 avril 2009 4 avril 2009 à 21:13
J'ai trouvé une solution en désactivant et réactivant la TableBanque, à la création de la Form contenant la TableAchat, Il semble que le Datasource mets à jours les items en sens inverse d'inscription. du dernier connecté au Datasource, jusqu'au premier connecté.
En faisant ce qui suitdans la form achat, qui contient la TableAchat,cela fonctionne:
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 5 avril 2009 à 18:55
Mettre un datasource à nil est toujours une mauvaise idée car cette manipulation n'est pas du tout optimisée.
ça veut dire qu'une autre solution est possible..