Non je suis sûr que celà ne vient pas de mon code (d'ailleurs j'ai pour le moment codé que des tests) mais bien du fonctionnement des requêtes dans VB.
Fait un simple essai, dans Access tu lances cette requête (la tienne):
SELECT * FROM FAC INNER JOIN CLIENT ON FAC.FAC_ID = CLIENT.CLI_FAC_ID
Tu fais un essai en modifiant la valeur de CLI_FAC_ID, tu verras que les champs FAC_LIB et FAC_TARIF se mettent automatiquement à jour.
Ensuite tu vas dans le DataEnvironment de VB, tu ajoutes une Command, tu poses le même code SQL et tu executes...
Tu verras que si tu modifies dans le tableau la valeur de CLI_FAC_ID, rien ne se passe...
Si tu ré-executes la requête aprés, la ca marche...
J'ai pensé donc que par le code, je n'aurais qu'a mettre un DE.Macommand.requery pour qu'aprés la validation de CLI_FAC_ID, tout se mette à jour...Hélas ca marche une fois ensuite le recordset est verrouillé (bug microsoft) et il faut fermer le form pour recommencer...
(A ce propos, sur le site de microsoft, ils donnent une solution qui ne marche absolument pas -> fermer puis rouvrir le recordset...)
Partager