Actualiser requête après modification table

Résolu/Fermé
Shabby54 - 15 janv. 2013 à 12:46
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 16 janv. 2013 à 12:08
Bonjour à tous,

J'ai un petit soucis, voici le problème : j'ai une requête qui est basée sur une table, or quand j'ajoute un nouvel enregistrement sur la table, il ne se répercute pas sur la requête. Et pourtant, j'ai beau enregistrer la table, la fermer puis ouvrir la requête (et même l'actualiser), il ne veut pas apparaître. Par contre, si dans la table je fais copier-coller un enregistrement qui existait déjà, il apparait bien en double dans la requête.

Est-ce que quelqu'un aurait une explication ?

Merci d'avance !

7 réponses

Je ne comprends pas grand chose écrit comme ça (ça parait plus simple dans les tableaux ^^).
Ce que je demande à la requête c'est d'afficher les animaux qui sont vivants et non classés.
Donc elle cherche:
1. Les animaux non classés : champ "classement" vide (is null) ou champ "section" vide
2. Les animaux n'appartenant pas à la race ne m'intéressent pas (=hors-livre), donc je ne veux pas que la requête affiche les lignes où le champ "section" contient le mot "hors".
2. Les animaux supposés vivants: champ "code sortie" vide (is null) ou ne contenant pas les mots mort/boucherie/viande (utilisation de * parce que l'utilisateur de la base de données n'a pas tout écrit de la même façon)

Par contre je ne comprends pas vraiment l'histoire des SOIT.
1
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 12:56
Bonjour Shabby54,

Après la requête "Update", l'enregistrement se retrouve bien dans la table ?
0
Merci de répondre aussi rapidement !
La requête créée est une requête de sélection (elle sert à n'afficher que des enregistrements de la table qui répondent au critère "non classé"). Faut-il créer une nouvelle requête pour actualiser ? (requête "update" ?)
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 13:01
1° Je voulais savoir de quelle façon vous ajoutez un enregistrement j'ai une requête qui est basée sur une table, or quand j'ajoute un nouvel enregistrement sur la table ??

requête de sélection (elle sert à n'afficher que des enregistrements de la table qui répondent au critère "non classé" : Qu'entendez-vous par "non classé"
0
1. J'ouvre uniquement la table, je clique sur la petite icone avec une étoile en bas de la table, je tape les données, j'enregistre et je ferme la table

2. Un des champ est le critère "classement", soit l'animal a déjà été classé et dans ce cas il y a des notes dans ce champ, soit il n'a pas encore été classé et alors la case est vide. La requête correspond à un "is null" pour ce champ.
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 15/01/2013 à 13:18
Puis-je voir le code SQL généré pour la requête ?
ACCESS, quelle version ?
0
Je travaille sur access 2010. Voici le code sql de la requête (c'est vraiment pas beau, désolée !):

SELECT [Table des animaux].[N° travail], [Table des animaux].N°animal, [Table des animaux].Nom, [Table des animaux].[N° père], [Table des animaux].Père, [Table des animaux].[N° mère], [Table des animaux].Mère, [Table des animaux].[Date naissance], [Table des animaux].Naissance, [Table des animaux].Sexe, [Table des animaux].Naisseur, [Table des eleveurs].Patronyme, [Table des eleveurs].Prénom, [Table des animaux].Section, [Table des animaux].Classment, [Table des animaux].[sang LOR], [Table des animaux].[Statut origine], [Table des animaux].[N° eleveur], [Table des eleveurs_1].Patronyme, [Table des eleveurs_1].Prénom, [Table des animaux].CAEV, [Table des animaux].Tête, [Table des animaux].Pampilles, [Table des animaux].Pattes, [Table des animaux].[Code couleur], [Table des animaux].Couleur, [Table des animaux].[Code poil], [Table des animaux].Cornage, [Table des animaux].[Date sortie], [Table des animaux].[Sortie date], [Table des animaux].[Code sortie], [Table des animaux].Remarques, [Table des animaux].[% de sang calculé], [Table des animaux].[Type de sang], [Table des animaux].[Date création], [Table des animaux].[% sang initial], [Table des animaux].[Animal pur], [Table des animaux].[N° fiche etudiant], [Table des animaux].[%sangpere], [Table des animaux].[%sangmere]
FROM ([Table des animaux] INNER JOIN [Table des eleveurs] ON [Table des animaux].Naisseur = [Table des eleveurs].[N° de cheptel]) INNER JOIN [Table des eleveurs] AS [Table des eleveurs_1] ON [Table des animaux].[N° eleveur] = [Table des eleveurs_1].[N° de cheptel]
WHERE ((([Table des animaux].Section) Not Like ("*hors*")) AND (([Table des animaux].Classment) Is Null) AND (([Table des animaux].[Code sortie]) Not Like ("*mort*") And ([Table des animaux].[Code sortie]) Not Like ("*bouch*") And ([Table des animaux].[Code sortie]) Not Like (("*viand*")))) OR ((([Table des animaux].Section) Is Null) AND (([Table des animaux].[Code sortie]) Is Null));
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 13:20
Waouw .. un peu de temps svp
0
:) oui oui pas de soucis !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 14:08
Êtes-vous d'accord avec la condition de la requête ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SOIT :
	   ([Section] Not Like ("*hors*")) 
	ET ([Classment] Is Null)
	ET ([Code sortie] Not Like ("*mort*")) 
	ET ([Code sortie] Not Like ("*bouch*")) 
	ET ([Code sortie] Not Like (("*viand*"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SOIT :
	   ([Section] Is Null) 
	ET ([Code sortie] Is Null)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 15/01/2013 à 14:48
Apparemment cela passera mieux avec les champs.

La requête compare un état avec 2 conditions pour cet état .. il y a un "Or" entre les deux. Donc, l'une ou l'autre condition doit être vérifiée .
Maintenant les deux conditions:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    SOIT la première condition :   
           ([Section] Not Like ("*hors*"))    
        ET ([Classment] Is Null)   
        ET ([Code sortie] Not Like ("*mort*"))    
        ET ([Code sortie] Not Like ("*bouch*"))    
        ET ([Code sortie] Not Like (("*viand*"))   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    SOIT la deuxièmé conditions:   
           ([Section] Is Null)    
        ET ([Code sortie] Is Null)   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  


Dans la 1ère, il faut que [Section] ne contienne pas "hors" ET [Classment] doit être vide ET [Code sortie] ne doit pas contenir ni "mort", ni "bouch", ni "viand"

Dans la 2ème, il faut que [Section] soit vide ET [Code sortie] doit être vide

Comprenez-vous ?

Edit pour faute d'orthographe & présentation
0
Oui je crois comprendre, mais je ne vois pas pourquoi cela poserait problème pour l'enregistrement dans la requête ?
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 15:02
Pour enregistrer la requête cela ne pose aucun problème .. c'est quand vous voulez voir le résultat de la requête qu'il risque de manquer d'information (d'enregistrement) !
C'est à ce niveau seulement !

Il doit y avoir un morceau de la requête qui ne colle pas avec votre demande !
0
Pourtant je n'ai fait qu'utiliser le tableau proposé en mode création de requête :( qu'est-ce qu'il faudrait changer selon vous ?
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 16:05
La requête, elle sert bien à afficher des données selon des restrictions ?
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 16:07
Quand vous enregistrez une nouvelle ligne (nouvel enregistrement, petite étoile) que donnez-vous comme renseignements (pour que la requête n'affiche pas cet enregistrament ?
0
Tessel75 Messages postés 192 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
16 janv. 2013 à 11:20
Bonjour,
Je ne peux qu'être satisfait que tu aies résolu ton problème, mais je crois guère aux miracles surtout pas en informatique. Si la difficulté s'est résolue si facilement, c'est sans aucun doute que ton dernier enregistrement qui te manquais n'était pas "sauvegardé", donc non pris en compte. Pour éviter cela, pour sauvegarder un enregistrement il suffit de passer à l'enregistrement suivant ou précédent, ou encore fermer la table. Si tu restes sur l'enregistrement en cours, il n'est pas sauvegardé et donc pas encore validé.
Bon courage.
0
Je pense que le problème venait du fait que, lors des essais, je ne remplissais pas un des champs (alors que la requête n'était programmée que pour afficher les enregistrements qui avaient justement ce champ rempli). Boulet... :) (comme quoi, une bonne nuit de sommeil ça aide à avoir les idées claires !)

Merci encore !
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
16 janv. 2013 à 12:08
Bonjour à toutes et tous,

C'est bien ce que j'avais dit dans mon précédant message : https://forums.commentcamarche.net/forum/affich-26910418-actualiser-requete-apres-modification-table#12

Le principal étant d'avoir trouvé le pourquoi du comment .. Et d'obtenir enfin un résultat tant attendu !

Bonne journée.
0