Actualiser requête après modification table
Résolu
Shabby54
-
Heliotte Messages postés 1491 Date d'inscription Statut Membre Dernière intervention -
Heliotte Messages postés 1491 Date d'inscription Statut Membre Dernière intervention -
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 !
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 !
A voir également:
- Actualiser requête après modification table
- Table ascii - Guide
- Table des matières word - Guide
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Modification dns - Guide
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.
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.
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" ?)
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" ?)
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 ??
2° 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é"
2° 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é"
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.
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.
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));
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));
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ê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) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:
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
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
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.
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.
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 !
Merci encore !
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.
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.