Ignorer un message après utilisation d'une requête ajout

lmc71

XLDnaute Occasionnel
Bonjour le Forum,
J'ai constitué un important classeur et j'utilise plusieurs requête Ajout quotidiennement. Lorsque j'actionne une de ces requêtes pour la deuxième fois ou plus, un message s'affiche (photo jointe) proposant de cliquer sur OUI pour ignorer les erreurs dues à duplication des données des mois précédents.
Comment est-ce possible, si cela l'est, d'empêcher l'affichage de ce message à chaque action d'une des requêtes ?
J'ai décoché la case "Requête Action" dans les Options Avancée d'Access, mais aucun effet sur ce type de message.
J'ai cherché sur différents forum, et je n'ai pas trouvé la solution.
Je suis plus que nul en VBA pour constituer une macro qui remplacerait cette requête et éviterait ce message.
Merci d'avance pour toute réponse et même tout simplement car le forum est génial.
Cordialement
 

Pièces jointes

  • Message erreur.jpg
    Message erreur.jpg
    26.7 KB · Affichages: 192
  • Message erreur.jpg
    Message erreur.jpg
    26.7 KB · Affichages: 193
  • Message erreur.jpg
    Message erreur.jpg
    26.7 KB · Affichages: 209
Dernière édition:

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Bonjour

Une bonne BD doit avoir des clés primaires sur les tables et la requête ajout doit tenir compte des données existantes.
Tu doit pouvoir désactiver les messages d'alerte (displayalert=aflse ou qq chose d'approchant) mais en cas de plantage si tu n'en a plus, c'est gênant...
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Bonjour Chris
Bonjour le Forum
J'ai placé les clefs primaires où elles doivent être spécialement pour éviter les doublons et autres plantages. Sur ce point il n'y a pas de soucis. Tout fonctionne comme je le désire.
Par contre, peux-tu me dire où je peux trouver le (displayalert= false) pour le décocher. Je suis sur Office 2007.
De plus le fichier est converti en Accde pour éviter toutes fausses manipulation par l'utilisateur.
Merci de ta réponse rapide.
Cordialement à tous.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

J'ai recherché encore une fois dans toutes les options Access et mis à part la case à décocher concernant "CONFIRMER Requêtes Action " je n'ai rien trouver qui me permette d'occulter ce message.
Merci encore une fois
 

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Bonjour

Alors, si tu as des clés, je te conseille de modifier ta requête pour ne pas importer les enregistrements déjà présents : voir requête de non correspondance. C'est beaucoup plus fiable que de bricoler avec le VBA.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Bonjour Chris
Je te remercie de ta réponse. Je vais me pencher sur la question et je te tiendrai informé. En effet j'ai mis deux voir trois clefs pour éviter les doublons. Elles agissent sur la date, Ref appartement et ref Motif, selon le cas.
Je ne connaissait pas et jamais toucher cette requête. Je vais donc apprendre. Un pas de plus.
Merci encore.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Je viens de tester la requête de non correspondance, mais dans mon cas ce n'est pas la solution. En effet, je ne veux pas comparer l'existence de données entre deux tables, mais simplement ajouter de nouvelles données, provenant d'un formulaire basé sur la table en cause. Tout les mois j'ajoute la date du mois suivant et les loyers concernant des appartements et autres données par ligne. Je vais essayer de supprimer des actions de mon fichier pour pouvoir l'envoyer sur le Forum ou alors te l'envoyer directement.
Cordialement
 

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Re

TU utilise bien une requête ajout : donc tu as des enregistrements d'une table (un formulaire ne contient pas d'enregistrements) à ajouter à une autre.

Le requête de non corrrespondance entre la table source et la table cible te permet, en passant cette requête en mode ajout, de n'ajouter que ceux qui n'existent pas déjà et donc de gérer en amont le risque de doublons.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Re
En fait, j'utilise plusieurs tables : la 1ère [Loyer Initial] qui à l'aide d'une requête Ajout fournit la table [Loyer Modifié] qui est reprise par un formulaire pour modifier les loyer selon les augmentations qui est envoyer la table [Liste Loyer Mensuel] sur laquelle je m'appuie pour faire tous mes autres calculs. C'est lors de l'utilisation de ces requêtes Ajout que le ou les messages apparaissent.
Je ne suis pas un pro comme beaucoup de ce Forum, et j'essaye de toujours comprendre plus.
Pour l'instant il m'est difficile de supprimer requêtes formulaires pour pouvoir mettre ce fichier dans le Forum.
Je vais essayer de mieux cerner la requête de non concordance.
Je sais que les formulaires non pas d'enregistrement et ils ne servent qu'à alimenter en données une base.
je te remercie de t'être penché sur la question.
Je te tiendrai informé.
Cordialement pour tous
 

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Re

Un principe qui peut t'aider à comprendre la logique :
Imaginons une application officielle avec des données clients et un base Access qui récupère les données clients pour un usage particulier.

Tu vas avoir 3 cas :
  • Nouveaux clients à ajouter : on vérifie la non correspondance. Tout client venant de l'appli officielle qui n'a pas de correspondance dans la base Access est ajouté
  • Clients disparus à supprimer : on ne doit plus gérer dans la base Access les clients qui ne le sont plus dans l'appli officielle. On utilise la non correspondance dans l'autre sens afin de ne supprimer que les clients Access qui n'ont pas de correspondance dans l'appli officielle
  • Clients communs : on peut vouloir mettre à jour les communs pour certains champs. LA correspondance permet de cibler ces enregistrements dans la requête de mise à jour.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Re
Re
Je te remercie de tes explications qui sont me semblent claires. Mais apparemment je ne suis pas des plus logique dans la constitution de la charpente de la base et je m'embrouille peut-être à vouloir en faire plus. Ce qui complique le fonctionnement.
Je suis arrivé à dégraisser le fichier. Je ne peux pas te l'envoyer en fichier accdb (dommage) donc je l'ai converti en accde pour qu'il soit moins lourd.
Si tu comprends où le bas blesse, je t'en remercie, sinon la souris fera le reste ( c'est pour mon neveu) C'est lui qui se fera mal au poignet :).
Cordialement
 

Pièces jointes

  • Base maltraitée.zip
    260.2 KB · Affichages: 135

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Re

Le PB c'est que dans ce format il est impossible de voir ce que font les macros : si je modifies une requête, je ne sais pas ce qui s'enchaine derrière car je ne peux voir la chaîne de traitement qui en découle.
 

lmc71

XLDnaute Occasionnel
Re : Ignorer un message après utilisation d'une requête ajout

Re
C'est bien ce que je pensais en ce qui concerne le fichier accde.
je viens de faire une BD juste pour te montrer ce que je fais. Elle est très simple de compréhension. Trois tables : Appart - Date Mois - Loyer. Un formulaire qui insère automatiquement la date du mois suivant dans la table date Mois et une requête ajout qui relie la table Appart et Date mois et qui ajoute l'ensemble dans la table Loyer.
A première utilisation de la requête ajout tout s'effectue sans message d'erreur. Si tu ajoute un mois dans la table Date mois à l'aide du formulaire (pour ne pas le faire manuellement) et que tu actionne la requête Ajout, le message d'erreur apparaît.
Dans mon fichier de base réel et il y a d'autres requêtes Ajout sur d'autres tables. C'est pour cela que je voulais savoir comment faire pour éviter ce message.
merci encore.
 

Pièces jointes

  • Essai relations.zip
    60.7 KB · Affichages: 121
  • Essai relations.zip
    60.7 KB · Affichages: 107
  • Essai relations.zip
    60.7 KB · Affichages: 104

chris

XLDnaute Barbatruc
Re : Ignorer un message après utilisation d'une requête ajout

Bonsoir

Base en retour :
  • clés et index de la table Appart modifiés : clé primaire sur numéroauto et index unique sur couple N°appart+date
  • relation modifiée : une base en peut pas fonctionner correctement si les relations ne sont pas 1 à n avec intégrité référentielle
  • requête intermédiaire créée car la non correspondance ne peut être établie avec 2 tables différentes (loyer à date et loyer à appartement)
  • requête ajout modifiée afin d'utiliser la requête intermédiaire et appliquer la non correspondance lors de l'ajout
 

Pièces jointes

  • Essai relations.zip
    38.6 KB · Affichages: 118
  • Essai relations.zip
    38.6 KB · Affichages: 106
  • Essai relations.zip
    38.6 KB · Affichages: 111

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki