{Access} suppression enregistrement formulair [Résolu/Fermé]

Signaler
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
-
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
-
Bonjour,

voila alors je vous explique:

j'ai un formulaire en mode continu d une table X avec un champ boolean

j ai une requete qui selectionne tout les enregistrement a true et qui les copie dans une nouvelle table jusque la tout vas bien.

ensuite:

j ai une requete qui supprime tout les enregistrement de la table X a true car je vien de les copier

la ca va encore tout fonctionne

mais du coup sur mon formulaire qui est basé sur la table X les enregistrement supprimé se suppriment mais ne disparaissent pas il y a un #supprimé dans toutes les colonne

j ai testé un me.refresh a la fin de mon code mais ca ne les enléve pas

merci a vous

2 réponses

Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
Salut.

Tu as tout a fait raison, il s'agit d'un problème de mise à jour entre l'affichage des données dans le formulaire et celles contenues dans la table.

J'ai lu il n'y a pas longtemps quelque chose dans l'aide d'Access qui parlait des différences entre refresh et repaint. Je colle la rubrique pour info en dessous. Apparemment les methodes requery et repaint pourraient solutionner ton problème. En fait, je dirais même peut être faire un refresh puis un repaint.

"La méthode Repaint effectue toutes les mises à jour d'écran en attente pour un formulaire spécifié. La méthode Repaint effectue aussi tous les calculs en attente des contrôles du formulaire.

Syntaxe

nomformulaire.Repaint

La méthode Repaint comprend l'argument suivant :

Argument Description
nomformulaire Objet Form qui représente le formulaire à redessiner


Remarques

Microsoft Access attend parfois d'avoir terminé d'autres tâches avant d'effectuer des mises à jour d'écran en attente. Avec la méthode Repaint, vous pouvez imposer la mise à jour immédiate des contrôles du formulaire spécifié. Utilisez la méthode Repaint :

lorsque vous modifiez les valeurs de certains champs. A moins d'imposer une mise à jour, il est possible que Microsoft Access n'affiche pas immédiatement les modifications, en particulier si d'autres champs, comme ceux d'une expression de contrôle calculé, dépendent des valeurs des champs modifiés;


lorsque vous souhaitez vous assurer qu'un formulaire affiche les données de tous ses champs. Par exemple, il arrive souvent que les champs contenant des objets OLE n'affichent pas leurs données immédiatement après l'ouverture d'un formulaire.

Cette méthode ne provoque pas de mise à jour de la base de données et ne montre pas d'enregistrements nouveaux, modifiés ou supprimés dans la source d'enregistrements sous-jacente du formulaire. Utilisez la méthode Requery pour interroger à nouveau la source de données du formulaire ou de l'un de ses contrôles.

Remarques

Ne confondez pas la méthode Repaint avec la méthode Refresh ou la commande Actualiser du menu Enregistrements. La méthode Refresh et la commande Actualiser affichent les modifications que vous et les autres utilisateurs avez effectuées sur la source d'enregistrements sous-jacente concernant tous les enregistrements actuellement affichés dans les formulaires et les feuilles de données. La méthode Repaint permet de mettre à jour l'écran lorsque la mise à jour a été reportée le temps que Microsoft Access exécute d'autres tâches.


La méthode Repaint diffère de la méthode Echo dans la mesure où la méthode Repaint impose une seule mise à jour immédiate de l'écran, tandis que la méhode Echo active ou désactive la mise à jour de l'écran. "

Cdlt

IC
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
j ai utilisé requery car repaint ne fonctionne pas merci