{Access} supprimé des enregistrements
Résolu/Fermé
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
-
1 sept. 2009 à 13:06
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 2 sept. 2009 à 11:31
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 2 sept. 2009 à 11:31
A voir également:
- {Access} supprimé des enregistrements
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Comment supprimer un fichier qui refuse d'être supprimé - Guide
- Supprimer des pages sur word - Guide
- Retrouver contact supprimé - Accueil - Android
20 réponses
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 14:53
1 sept. 2009 à 14:53
Bonjour,
DELETE FROM Table1 WHERE Table1.phone NOT IN(
SELECT Table1.phone
FROM Table1
WHERE (Table1.phone) LIKE "0[1-9]########");
Essaie ça ;)
DELETE FROM Table1 WHERE Table1.phone NOT IN(
SELECT Table1.phone
FROM Table1
WHERE (Table1.phone) LIKE "0[1-9]########");
Essaie ça ;)
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
1 sept. 2009 à 14:55
1 sept. 2009 à 14:55
Salut,
ça m'étonnerait qu'access autorise les expressions régulières dans un LIKE.
ça m'étonnerait qu'access autorise les expressions régulières dans un LIKE.
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 14:59
1 sept. 2009 à 14:59
Peut être pas directement via la gestion des requêtes mais plutôt via le Vba ;)
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
1 sept. 2009 à 15:22
1 sept. 2009 à 15:22
pas d'expressions régulières en VBA de manière simple...
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
>
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
1 sept. 2009 à 15:45
1 sept. 2009 à 15:45
Faut croire que si?
Ca a fonctionné ;)
Ca a fonctionné ;)
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
>
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
1 sept. 2009 à 15:49
1 sept. 2009 à 15:49
ben voui, chez moi, ça le fait pas, mais c'est peut-être à cause d'une vieille version d'access...
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
>
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
1 sept. 2009 à 15:51
1 sept. 2009 à 15:51
C'est possible je ne sais pas.
Access 2000?
Access 2000?
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 15:23
1 sept. 2009 à 15:23
c'est cool ça marche bien merci, mais sur chaque ligne de la table qui a été supprimé, il y a maintenant écrit supprimé à chaque champs. Comme enlever ça please? Et petite question subsidiaire, chaque enregistrement que je supprime de cette table je voudrai les renseigné dans un fichier excel de façon automatique, c à d que dans le code VBA il faudrait rajouté une ligne pour qu'une fois la suppression faite de la table, je récupère les enregistrements pour les mettre dans un fichier Excel. Merci pour votre aide c'est très important.
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
1 sept. 2009 à 15:44
1 sept. 2009 à 15:44
Il te suffit de fermer la fenêtre d'affichage de ta table et de la réouvrir, la zone réapparaitra à blanc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 15:38
1 sept. 2009 à 15:38
Pour ce qui est de "supprimé" à chaque ligne je ne vois pas trop pourquoi il te fait ça.
Concernant ta question subsidiaire tu peux effectivement enregistrer tes données supprimées dans un fichier Excel en utilisant du code VBA. Je n'ai pas de base de données Access là donc je ne peux pas te guider.
Tu peux retrouver des exemples comme ici : https://cafeine.developpez.com/access/tutoriel/excel/#LVII
mais c'est assez compliqué.
Par contre je pourrais te suggérer de les enregistrer dans une autre table à part, en faisant un INSERT INTO ( SELECT....) de l'autre table avant le DELETE.
Puis après pourquoi pas exporter la table dans un fichier Excel ou encore la synchroniser avec ce dit fichier :)
Concernant ta question subsidiaire tu peux effectivement enregistrer tes données supprimées dans un fichier Excel en utilisant du code VBA. Je n'ai pas de base de données Access là donc je ne peux pas te guider.
Tu peux retrouver des exemples comme ici : https://cafeine.developpez.com/access/tutoriel/excel/#LVII
mais c'est assez compliqué.
Par contre je pourrais te suggérer de les enregistrer dans une autre table à part, en faisant un INSERT INTO ( SELECT....) de l'autre table avant le DELETE.
Puis après pourquoi pas exporter la table dans un fichier Excel ou encore la synchroniser avec ce dit fichier :)
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 15:56
1 sept. 2009 à 15:56
Capit,
Effectivement j'ai lu le tutoriel que tu m'as proposé, c'est bien compliqué. La deuxième solution que tu me propose me parrait très bien, surtout si on peut faire une synchronisation entre Table et fichier Excel. Sauf que je suis vraiment débutant en VB et je ne sais pas koi mettre après ton INSERT INTO (SELECT....). Je sais ke tu n'as pas de base dispo avec toi mais en mettant des termes générique tu peux peut etre me guidé un peu plus.
Vraiment je te remercie beaucoup, tu vas me sauver et me faire gagné bcp de temps.
Effectivement j'ai lu le tutoriel que tu m'as proposé, c'est bien compliqué. La deuxième solution que tu me propose me parrait très bien, surtout si on peut faire une synchronisation entre Table et fichier Excel. Sauf que je suis vraiment débutant en VB et je ne sais pas koi mettre après ton INSERT INTO (SELECT....). Je sais ke tu n'as pas de base dispo avec toi mais en mettant des termes générique tu peux peut etre me guidé un peu plus.
Vraiment je te remercie beaucoup, tu vas me sauver et me faire gagné bcp de temps.
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 16:02
1 sept. 2009 à 16:02
Tout d'abord comment s'exécute ta requête DELETE?
C'est en cliquant sur un bouton de ton formulaire?
Si oui, c'est fait via du VBA (je pense) donc fait moi un copier/coller du code concerné.
Si non explique moi en détail comment la requête DELETE est appellée/utilisée ;)
C'est en cliquant sur un bouton de ton formulaire?
Si oui, c'est fait via du VBA (je pense) donc fait moi un copier/coller du code concerné.
Si non explique moi en détail comment la requête DELETE est appellée/utilisée ;)
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 16:29
1 sept. 2009 à 16:29
pour l'instant c'est une requête que j'utilise en double clicke dessus, par la suite il faudra que j'automatise un certain nombre de taches à l'aide d'un "module". Mais pour l'instant je veux comprendre chaque taches donc je fais tout en manuel. Voici le code qui est pour l'instant en place:
DELETE *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########");
ceci est donc le début du code, là ou je supprime les enregistrements dont le champ "phone" n'est pas utilisable, mais je voudrai que ces enregistrements soient renseignés dans un fichier Excel.
DELETE *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########");
ceci est donc le début du code, là ou je supprime les enregistrements dont le champ "phone" n'est pas utilisable, mais je voudrai que ces enregistrements soient renseignés dans un fichier Excel.
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 16:39
1 sept. 2009 à 16:39
Dans ce cas là dans la même requête SQL tu mets :
INSERT INTO NouvelleTable (
SELECT *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########"));
DELETE *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########");
Comm d'hab, j'ai pas testé donc c'est peut être faux ;)
INSERT INTO NouvelleTable (
SELECT *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########"));
DELETE *
FROM Import
WHERE Import.phone NOT IN(
SELECT Import.phone
FROM Import
WHERE (Import.phone) LIKE "0[1-9]########");
Comm d'hab, j'ai pas testé donc c'est peut être faux ;)
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 16:48
1 sept. 2009 à 16:48
j'ai comme retour: erreur de syntaxe dans l'instruction INSERT INTO
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 16:52
1 sept. 2009 à 16:52
T'as bien créer la nouvelle table ou les valeurs vont s'enregistrer? Avec exactement les même nom de champs que l'autre. Seul le nom de la nouvelle table est à changer.
De plus faut que tu remplace "NouvelleTable" dans le INSERT INTO par le nouveau nom ;)
De plus faut que tu remplace "NouvelleTable" dans le INSERT INTO par le nouveau nom ;)
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 16:59
1 sept. 2009 à 16:59
à ok la requète ne peut pas créer d'elle-même cette nouvelle table en récupérant tous les champs de la table Import?
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 17:02
1 sept. 2009 à 17:02
Non, enfin si mais ça voudrait dire qu'a chaque exécution de la dit requête, ta table est recréée.
Et j'imagine que ce n'est pas ça que tu souhaites.
Donc créer ta table manuellement (tu fais un copier/coller de l'autre en changeant de nom et tu la vide).
Et j'imagine que ce n'est pas ça que tu souhaites.
Donc créer ta table manuellement (tu fais un copier/coller de l'autre en changeant de nom et tu la vide).
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 17:16
1 sept. 2009 à 17:16
Bon c'est fait mais j'ai eu le meme résultat soit : erreur de syntaxe dans l'instruction INSERT INTO
J'ai cherché un peu dans des tuto sur SQL et j'ai remarqué que certain mettent des guillemet avant le nom de la table après INSERT INTO et là j'ai ça comme erreur: Erreur de syntaxe dans la requête. La clause de la requête est incomplète.
Je vois pas d'où est le souci mais je suis sur que tu es pas loin.
J'ai cherché un peu dans des tuto sur SQL et j'ai remarqué que certain mettent des guillemet avant le nom de la table après INSERT INTO et là j'ai ça comme erreur: Erreur de syntaxe dans la requête. La clause de la requête est incomplète.
Je vois pas d'où est le souci mais je suis sur que tu es pas loin.
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 sept. 2009 à 17:24
1 sept. 2009 à 17:24
Non normalement la syntaxe de ma requête est correcte.
Essaies de mettre la requête INSERT dans une autre requête Access, histoire de séparer les 2.
Par contre il faudra que tu doubles clique sur la requête 1 et ensuite la requête 2 et tu auras ce que tu cherches.
Essaies de mettre la requête INSERT dans une autre requête Access, histoire de séparer les 2.
Par contre il faudra que tu doubles clique sur la requête 1 et ensuite la requête 2 et tu auras ce que tu cherches.
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
1 sept. 2009 à 17:37
1 sept. 2009 à 17:37
ben non j'ai tjrs la meme erreur de syntaxe!! snif!!
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
2 sept. 2009 à 08:24
2 sept. 2009 à 08:24
Je ne mettrais pas de parenthèses avant le select...
A+ Blux
INSERT INTO NouvelleTable SELECT * FROM Import WHERE Import.phone NOT IN( SELECT Import.phone FROM Import WHERE (Import.phone) LIKE "0[1-9]########");--
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
hutchy33
Messages postés
15
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
1 mars 2012
2 sept. 2009 à 11:22
2 sept. 2009 à 11:22
Punaise Blux merci c t juste cette histoire de parenthèses!!!! c boules!
Bon ben la suite maintenant c'est d'exporté cette table vers un fichier Excel mais en plus que ce fichier soit en synchro avec la table. Tous ça biensur c'est le code sql qui me faudrait.
Merci bcp encore une fois, j'ai cru ne jamais m'en sortir.
Bon ben la suite maintenant c'est d'exporté cette table vers un fichier Excel mais en plus que ce fichier soit en synchro avec la table. Tous ça biensur c'est le code sql qui me faudrait.
Merci bcp encore une fois, j'ai cru ne jamais m'en sortir.
blux
Messages postés
26703
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 mars 2025
3 328
2 sept. 2009 à 11:30
2 sept. 2009 à 11:30
Tu peux exporter vers EXCEL, mais ça ne sera qu'une exportation à un instant 't'.
Si tu veux que les données soient mises à jour dans EXCEL il faut faire un lien entre EXCEL et ACCESS.
Sous EXCEL : Menu Données/Données externes/créer une requête...
Si tu veux que les données soient mises à jour dans EXCEL il faut faire un lien entre EXCEL et ACCESS.
Sous EXCEL : Menu Données/Données externes/créer une requête...
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
2 sept. 2009 à 11:31
2 sept. 2009 à 11:31
Arf, hallucine que mon erreur vienne d'une histoire de parenthèse. En tout cas c'est cool si cela fonctionne.
Bonne chance pour la suite.
Bonne chance pour la suite.