Suppression manuelle impossible des enregistrements d'une requête
Résolu
BiankaBo
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
-
BiankaBo Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
BiankaBo Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
Bonjour à vous!! :)
J'ai encore un souci.. J'ai une requête A qui contient certaines informations en lien avec la requête B. Elles sont conçues spécifiquement pour un formulaire construit à partir de la requête A et où un sous-formulaire construit avec la requête B est inclus.
J'ai constaté mon problème lorsque j'ai construit un bouton commande "Supprimer" avec la méthode SetRecord.Delete. En effet, je souhaite que l'enregistrement de mon formulaire principal s'efface, ainsi que tous les éléments contenus dans le sous-formulaire. Par contre, lorsque j'appuie sur mon bouton, rien ne se passe, rien ne s'efface..
J'ai bel et bien coché "Effacer en cascade les enregistrements correspondants" dans mes relations, mais ça ne marche pas.
En investiguant un peu plus, je suis allée voir mes requêtes A et B. Lorsque je supprime manuelle un enregistrement directement dans la requête A, tout semble avoir été supprimé pour cette requête, mais quand je rafraîchie, surprise il revient. D'un autre côté, quand je tente de faire la même chose dans ma requête B, l'option "supprimer" n'est même pas disponible.. Je crois que tout ce joue dans ma requête B qui n'accepte pas la suppression de mes données.
Qu'est-ce qui peut empêcher la suppression d'un enregistrement dans une requête?
Est-ce la façon que je l'ai construite qui nuit à cette action?
Merci beaucoup de prendre quelques minutes pour m'aider, je suis si près du but final!
Code de ma requête A:
Code de ma requête B:
Vraiment désolée pour la lourdeur de l'information..
J'ai encore un souci.. J'ai une requête A qui contient certaines informations en lien avec la requête B. Elles sont conçues spécifiquement pour un formulaire construit à partir de la requête A et où un sous-formulaire construit avec la requête B est inclus.
J'ai constaté mon problème lorsque j'ai construit un bouton commande "Supprimer" avec la méthode SetRecord.Delete. En effet, je souhaite que l'enregistrement de mon formulaire principal s'efface, ainsi que tous les éléments contenus dans le sous-formulaire. Par contre, lorsque j'appuie sur mon bouton, rien ne se passe, rien ne s'efface..
J'ai bel et bien coché "Effacer en cascade les enregistrements correspondants" dans mes relations, mais ça ne marche pas.
En investiguant un peu plus, je suis allée voir mes requêtes A et B. Lorsque je supprime manuelle un enregistrement directement dans la requête A, tout semble avoir été supprimé pour cette requête, mais quand je rafraîchie, surprise il revient. D'un autre côté, quand je tente de faire la même chose dans ma requête B, l'option "supprimer" n'est même pas disponible.. Je crois que tout ce joue dans ma requête B qui n'accepte pas la suppression de mes données.
Qu'est-ce qui peut empêcher la suppression d'un enregistrement dans une requête?
Est-ce la façon que je l'ai construite qui nuit à cette action?
Merci beaucoup de prendre quelques minutes pour m'aider, je suis si près du but final!
Code de ma requête A:
SELECT [08-DÉPENSES_SAL_RÉGUL].No_DSR, [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR, [12-CORPS_EMPLOI].Titre_CE, [08-DÉPENSES_SAL_RÉGUL].MatYe_DSR, [08-DÉPENSES_SAL_RÉGUL].NomYe_DSR, [08-DÉPENSES_SAL_RÉGUL].DtDeb_DSR, [08-DÉPENSES_SAL_RÉGUL].DtFin_DSR, [08-DÉPENSES_SAL_RÉGUL].NbJrs_DSR, [08-DÉPENSES_SAL_RÉGUL].Type_DSR, [08-DÉPENSES_SAL_RÉGUL].Ind_DSR, [08-DÉPENSES_SAL_RÉGUL].UnCal_DSR, [08-DÉPENSES_SAL_RÉGUL].Cout_DSR, [08-DÉPENSES_SAL_RÉGUL].Rem_DSR, [08-DÉPENSES_SAL_RÉGUL].DRE_DSR, [15-DONNÉES_REL_EMPLOI].Date_DRE, [15-DONNÉES_REL_EMPLOI].NDest_DRE, [15-DONNÉES_REL_EMPLOI].CDest_DRE, [15-DONNÉES_REL_EMPLOI].No_DRE, [15-DONNÉES_REL_EMPLOI].BCal_DRE, [15-DONNÉES_REL_EMPLOI].DCal_DRE, [12-CORPS_EMPLOI].NoFAM_CE, [08-DÉPENSES_SAL_RÉGUL].UnCal_DSR, [08-DÉPENSES_SAL_RÉGUL].EchSal_DSR, [08-DÉPENSES_SAL_RÉGUL].PourC_DSR, [08-DÉPENSES_SAL_RÉGUL].Tx1_DSR, [08-DÉPENSES_SAL_RÉGUL].Echo1_DSR, [08-DÉPENSES_SAL_RÉGUL].DEff1_DSR, [08-DÉPENSES_SAL_RÉGUL].Tx2_DSR, [08-DÉPENSES_SAL_RÉGUL].Echo2_DSR, [08-DÉPENSES_SAL_RÉGUL].DEff2_DSR, [08-DÉPENSES_SAL_RÉGUL].Tx3_DSR, [08-DÉPENSES_SAL_RÉGUL].Echo3_DSR, [08-DÉPENSES_SAL_RÉGUL].DEff3_DSR, [08-DÉPENSES_SAL_RÉGUL].CBrut_DSR, [08-DÉPENSES_SAL_RÉGUL].CVac_DSR, [08-DÉPENSES_SAL_RÉGUL].CAvSoc_DSR, [08-DÉPENSES_SAL_RÉGUL].CPyeur_DSR, [08-DÉPENSES_SAL_RÉGUL].Jrs1_DSR, [08-DÉPENSES_SAL_RÉGUL].Jrs2_DSR, [08-DÉPENSES_SAL_RÉGUL].Jrs3_DSR, [08-DÉPENSES_SAL_RÉGUL].TxVac_DSR, [08-DÉPENSES_SAL_RÉGUL].TxAvSco_DSR, [08-DÉPENSES_SAL_RÉGUL].TxPyeur_DSR FROM [12-CORPS_EMPLOI] INNER JOIN ([08-DÉPENSES_SAL_RÉGUL] LEFT JOIN [15-DONNÉES_REL_EMPLOI] ON [08-DÉPENSES_SAL_RÉGUL].No_DSR = [15-DONNÉES_REL_EMPLOI].NoDSR_DRE) ON [12-CORPS_EMPLOI].No_CE = [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR;
Code de ma requête B:
SELECT [08-DÉPENSES_SAL_RÉGUL].No_DSR, [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR, [08-DÉPENSES_SAL_RÉGUL].MatYe_DSR, [08-DÉPENSES_SAL_RÉGUL].NomYe_DSR, [08-DÉPENSES_SAL_RÉGUL].DtDeb_DSR, [08-DÉPENSES_SAL_RÉGUL].DtFin_DSR, [08-DÉPENSES_SAL_RÉGUL].NbJrs_DSR, [08-DÉPENSES_SAL_RÉGUL].Type_DSR, [08-DÉPENSES_SAL_RÉGUL].Ind_DSR, [08-DÉPENSES_SAL_RÉGUL].UnCal_DSR, [08-DÉPENSES_SAL_RÉGUL].Cout_DSR, [14-PONDÉRATION_DSR].No_PO, [14-PONDÉRATION_DSR].NoAL_PO, [14-PONDÉRATION_DSR].Pond_PO, [Cout_DSR]*[Pond_PO]/100 AS NET_DSR, [Ind_DSR]*[Pond_PO]/100 AS INDNET_DSR, [12-CORPS_EMPLOI].Abr_CE, [08-DÉPENSES_SAL_RÉGUL].DRE_DSR, [15-DONNÉES_REL_EMPLOI].BCal_DRE, [15-DONNÉES_REL_EMPLOI].DCal_DRE FROM [12-CORPS_EMPLOI] INNER JOIN (([08-DÉPENSES_SAL_RÉGUL] INNER JOIN [14-PONDÉRATION_DSR] ON [08-DÉPENSES_SAL_RÉGUL].No_DSR = [14-PONDÉRATION_DSR].NoDSR_PO) LEFT JOIN [15-DONNÉES_REL_EMPLOI] ON [08-DÉPENSES_SAL_RÉGUL].No_DSR = [15-DONNÉES_REL_EMPLOI].NoDSR_DRE) ON [12-CORPS_EMPLOI].No_CE = [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR;
Vraiment désolée pour la lourdeur de l'information..
A voir également:
- Suppression manuelle impossible des enregistrements d'une requête
- Forcer suppression fichier - Guide
- Suppression compte gmail - Guide
- Comment enregistrer une conversation - Guide
- Suppression page word - Guide
- Suppression des cookies - Guide
7 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
le formulaire affiche-t-il les enregistrements en continu, avec chacun un bouton "Supprimer"?
si tu as coché "Effacer en cascade les enregistrements correspondants" dans tes relations, il devrait être suffisant, sans passer par une requête, de supprimer un enregistrement dans une table, et les enregistrements liés des autres tables devraient être automatiquement effacés. cela fonctionne-t-il?
le formulaire affiche-t-il les enregistrements en continu, avec chacun un bouton "Supprimer"?
si tu as coché "Effacer en cascade les enregistrements correspondants" dans tes relations, il devrait être suffisant, sans passer par une requête, de supprimer un enregistrement dans une table, et les enregistrements liés des autres tables devraient être automatiquement effacés. cela fonctionne-t-il?
Bonjour,
Bien que je ne sois pas totalement débutante en la matière, mais presque, je manque un peu de vocabulaire à ce niveau.. Je ne comprend pas bien ta question, que veux-tu dire par "affichage des enregistrements en continu"?
Je ne sais pas si ça peut aider à répondre à la question, mais voici une image de ce que mon formulaire a l'air : https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/file/d/1sOTS3pLvYgBhluGMZpCdvuHeAgC5u_aG/view?usp%3Dsharing&followup=https://drive.google.com/file/d/1sOTS3pLvYgBhluGMZpCdvuHeAgC5u_aG/view?usp%3Dsharing
La section "Attribution de mesures" constitue mon sous-formulaire.
Merci beaucoup!
Bien que je ne sois pas totalement débutante en la matière, mais presque, je manque un peu de vocabulaire à ce niveau.. Je ne comprend pas bien ta question, que veux-tu dire par "affichage des enregistrements en continu"?
Je ne sais pas si ça peut aider à répondre à la question, mais voici une image de ce que mon formulaire a l'air : https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/file/d/1sOTS3pLvYgBhluGMZpCdvuHeAgC5u_aG/view?usp%3Dsharing&followup=https://drive.google.com/file/d/1sOTS3pLvYgBhluGMZpCdvuHeAgC5u_aG/view?usp%3Dsharing
La section "Attribution de mesures" constitue mon sous-formulaire.
Merci beaucoup!
Oupss.. voilà j'ai mis le lien public maintenant.. tu devrais avoir accès à la photo si tu le veux.
Pour répondre à ta dernière question, non.
En fait, il y a un seul bouton dans le formulaire principal et j'avais espoir que tous les enregistrements contenus dans le sous-formulaire (affiché sous forme de feuille de données) s'effaceraient également.. Mais ça ne fonctionne pas..
Pour répondre à ta dernière question, non.
En fait, il y a un seul bouton dans le formulaire principal et j'avais espoir que tous les enregistrements contenus dans le sous-formulaire (affiché sous forme de feuille de données) s'effaceraient également.. Mais ça ne fonctionne pas..
si tu as coché "Effacer en cascade les enregistrements correspondants" dans tes relations, il devrait être suffisant, sans passer par une requête, de supprimer un enregistrement dans une table, et les enregistrements liés des autres tables devraient être automatiquement effacés. cela fonctionne-t-il?
En fait , pour ta première question, non ça ne fonctionne pas. La case est bel et bien cochée, mais rien ne se passe.
Alors si je comprends bien ton dernier commentaire, je pourrais modifier mon bouton pour qu'il supprime directement dans la table plutôt que dans la requête?! Ça aurait beaucoup de sens étant donné que la suppression à même la table de base fonctionne. Saurais-tu me dire quel code vba utiliser pour faire ceci?
Alors si je comprends bien ton dernier commentaire, je pourrais modifier mon bouton pour qu'il supprime directement dans la table plutôt que dans la requête?! Ça aurait beaucoup de sens étant donné que la suppression à même la table de base fonctionne. Saurais-tu me dire quel code vba utiliser pour faire ceci?
Je trouve étrange aussi que ça ne fonctionne pas, mais si on peut contourner la chose, ça me va très bien!!
Malheureusement, je ne peux pas partager mon fichier car il contient maintenant des données réelles et confidentielles..
Est-ce qu'il y a une façon de programmer la suppression d'un enregistrement précise (à partir de sa clé primaire) directement dans sa table de base par le biais du bouton du formulaire en vba?
Malheureusement, je ne peux pas partager mon fichier car il contient maintenant des données réelles et confidentielles..
Est-ce qu'il y a une façon de programmer la suppression d'un enregistrement précise (à partir de sa clé primaire) directement dans sa table de base par le biais du bouton du formulaire en vba?
je n'ai pas compris dans quel cas cela fonctionne et dans quel cas cela ne fonctionne pas.
tu peux, si tu le souhaites, créer une base de données avec des données de test.
bien sûr, il est possible de programmer la suppression d'un enregistrement précise (à partir de sa clé primaire) directement dans sa table de base par le biais du bouton du formulaire en vba.
tu peux, si tu le souhaites, créer une base de données avec des données de test.
bien sûr, il est possible de programmer la suppression d'un enregistrement précise (à partir de sa clé primaire) directement dans sa table de base par le biais du bouton du formulaire en vba.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait, la suppression à partir du formulaire ne fonctionne pas ni celle à partir de la requête. Par contre, la suppression à partir de la table de base fonctionne parfaitement. C'est pour ça que je souhaite savoir par quel code je pourrais supprimer l'enregistrement directement dans la table de base.
Je vais regarder pour vous transmettre un fichier avec des données test cette semaine. Merci beaucoup!
Je vais regarder pour vous transmettre un fichier avec des données test cette semaine. Merci beaucoup!
Voici donc ma base de données avec les renseignements fictifs à l'intérieur.
https://drive.google.com/file/d/1kEsAleQxuZSvAXArJzlhIeQv80NvZCTN/view?usp=sharing
Le formulaire principal que je parle est celui qui porte le nom "08_01M-SAISIR_SAL_RÉGUL_ETE", c'est le bouton "SUPPRIMER" en bas du formulaire qui ne fonctionne pas.
En ce qui concerne les requêtes qui compose le formulaire, il s'agit de la requête "08_01-SAISIR_SAL_RÉGUL" pour la requête A et "08-14_02-SAISIR_SAL_RÉGUL" pour la requête B que je vous ai parlé. Je crois que je ne vous avais pas donné la bonne requête B au départ, mais le problème est le même..
Donc, le bouton "SUPPRIMER" n'a aucun effet. Après avoir testé le bouton, lorsque vous ouvrez une seconde fois le formulaire, vous constaterez que les données sont toujours présentes.
Par contre, si je tente d'effacer les données à partir de la table de base 08-DÉPENSES_SAL_RÉGUL, tout fonctionne. C'est donc pour cela que je souhaite avoir le code qui me permet d'effacer les données à même la table de base.
J'attends de vos nouvelles.
Merci beaucoup!
https://drive.google.com/file/d/1kEsAleQxuZSvAXArJzlhIeQv80NvZCTN/view?usp=sharing
Le formulaire principal que je parle est celui qui porte le nom "08_01M-SAISIR_SAL_RÉGUL_ETE", c'est le bouton "SUPPRIMER" en bas du formulaire qui ne fonctionne pas.
En ce qui concerne les requêtes qui compose le formulaire, il s'agit de la requête "08_01-SAISIR_SAL_RÉGUL" pour la requête A et "08-14_02-SAISIR_SAL_RÉGUL" pour la requête B que je vous ai parlé. Je crois que je ne vous avais pas donné la bonne requête B au départ, mais le problème est le même..
Donc, le bouton "SUPPRIMER" n'a aucun effet. Après avoir testé le bouton, lorsque vous ouvrez une seconde fois le formulaire, vous constaterez que les données sont toujours présentes.
Par contre, si je tente d'effacer les données à partir de la table de base 08-DÉPENSES_SAL_RÉGUL, tout fonctionne. C'est donc pour cela que je souhaite avoir le code qui me permet d'effacer les données à même la table de base.
J'attends de vos nouvelles.
Merci beaucoup!