Est il possible de creer une fonction dans un module qui supprime une ligne enregistrée dans une requête, à partir d'une date de fin, contenue dans cette même ligne, et qui est inferieure à la date actuelle ( = Date du serveur = Now() ) ?
Exemple
Dans une Requête
N_Article ! Date Enregistrement ! Date Fin !
1 19/10/2004 15:15:45 21/10/2004 10:45:45
Module ( Je ne connais pas le code donc je vais dire en texte littéral )
Select (enregistrement =[Date fin] par N_Article) In (Requête)
If Date Fin < date du serveur Then Supprime ( enregistrement)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut Sonia,
"Sonia"
Est il possible de creer une fonction dans un module qui supprime une ligne enregistrée dans une requête, à partir d'une date de fin, contenue dans cette même ligne, et qui est inferieure à la date
actuelle ( = Date du serveur = Now() ) ?
Exemple Dans une Requête N_Article ! Date Enregistrement ! Date Fin ! 1 19/10/2004 15:15:45 21/10/2004 10:45:45
Module ( Je ne connais pas le code donc je vais dire en texte littéral )
Select (enregistrement =[Date fin] par N_Article) In (Requête) If Date Fin < date du serveur Then Supprime ( enregistrement)
Voila Mon problème Est ce faisable en code ?
Tout est faisable par code, mais....
Tu as une requête qui te retourne une date, et tu voudrais supprimer un enregistrement selon un critère concernant cette date, c'est ca ?
Dans ce cas, quelque chose comme :
Dim sSQL As String sSQL = "Delete * From LaTable " _ & "Where Ladate =" _ & Format(DLookUp("LeChamp","LaRequete","critères?"),"#mm-dd-yyyy#") & ";"
Currentdb.execute sSQL
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut Sonia,
"Sonia"
Est il possible de creer une fonction dans un module qui supprime une ligne enregistrée dans une
requête, à partir d'une date de fin, contenue dans cette même ligne, et qui est inferieure à la date
actuelle ( = Date du serveur = Now() ) ?
Exemple
Dans une Requête
N_Article ! Date Enregistrement ! Date Fin !
1 19/10/2004 15:15:45 21/10/2004 10:45:45
Module ( Je ne connais pas le code donc je vais dire en texte littéral )
Select (enregistrement =[Date fin] par N_Article) In (Requête)
If Date Fin < date du serveur Then Supprime ( enregistrement)
Voila Mon problème Est ce faisable en code ?
Tout est faisable par code, mais....
Tu as une requête qui te retourne une date,
et tu voudrais supprimer un enregistrement selon un critère
concernant cette date, c'est ca ?
Dans ce cas, quelque chose comme :
Dim sSQL As String
sSQL = "Delete * From LaTable " _
& "Where Ladate =" _
& Format(DLookUp("LeChamp","LaRequete","critères?"),"#mm-dd-yyyy#") & ";"
Currentdb.execute sSQL
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Est il possible de creer une fonction dans un module qui supprime une ligne enregistrée dans une requête, à partir d'une date de fin, contenue dans cette même ligne, et qui est inferieure à la date
actuelle ( = Date du serveur = Now() ) ?
Exemple Dans une Requête N_Article ! Date Enregistrement ! Date Fin ! 1 19/10/2004 15:15:45 21/10/2004 10:45:45
Module ( Je ne connais pas le code donc je vais dire en texte littéral )
Select (enregistrement =[Date fin] par N_Article) In (Requête) If Date Fin < date du serveur Then Supprime ( enregistrement)
Voila Mon problème Est ce faisable en code ?
Tout est faisable par code, mais....
Tu as une requête qui te retourne une date, et tu voudrais supprimer un enregistrement selon un critère concernant cette date, c'est ca ?
Dans ce cas, quelque chose comme :
Dim sSQL As String sSQL = "Delete * From LaTable " _ & "Where Ladate =" _ & Format(DLookUp("LeChamp","LaRequete","critères?"),"#mm-dd-yyyy#") & ";"
Currentdb.execute sSQL
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
3stone
Salut,
"Sonia"
La requête me donne la date de fin qui est calculee en fonction de la date d'enregistrement contenu dans une table A.
Par contre pour Faire une selection automatique de la date du serveur c'est à dire de la date actuelle. Là j 'ai un problème. Je l'ai fait pour une date d'enregistrement dans la table A. Mais un
selection automatique dans un module, la je ne connais pas le code.
De plus la suppression ne se fait que si Date fin < Date Actuelle du serveur.
une sélection automatique de la date du serveur... ?
tu parle de la date système ?
en VBA tu l'obtient par la fonction: Date
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Sonia"
La requête me donne la date de fin qui est calculee en fonction de la date d'enregistrement
contenu dans une table A.
Par contre pour Faire une selection automatique de la date du serveur c'est à dire de la date
actuelle. Là j 'ai un problème. Je l'ai fait pour une date d'enregistrement dans la table A. Mais un
selection automatique dans un module, la je ne connais pas le code.
De plus la suppression ne se fait que si
Date fin < Date Actuelle du serveur.
une sélection automatique de la date du serveur... ?
tu parle de la date système ?
en VBA tu l'obtient par la fonction: Date
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
La requête me donne la date de fin qui est calculee en fonction de la date d'enregistrement contenu dans une table A.
Par contre pour Faire une selection automatique de la date du serveur c'est à dire de la date actuelle. Là j 'ai un problème. Je l'ai fait pour une date d'enregistrement dans la table A. Mais un
selection automatique dans un module, la je ne connais pas le code.
De plus la suppression ne se fait que si Date fin < Date Actuelle du serveur.
une sélection automatique de la date du serveur... ?
tu parle de la date système ?
en VBA tu l'obtient par la fonction: Date
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Sonia
Boujours Houla c'est chaud avec ton code. J'ai fais ça matière de code. Mais c'est bourré d'erreur par manque de connaissance.
Voici ce que j'ai fais Tout d'abord la requête contient ceci :
Champ : N_Article Champ : DateCréation Champ : Datefin (Fin de parution d'article) Champ : Date de Suppression (Suppression définitive de l'article)
Code Module
Function fnsSQL(Date de Suppression As Date, N_Article) As Date 'MaN_Article = Nz(MaN_Article) 'MaN_Article = Val(MaN_Article) Dim sSQL As string fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" & MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]", "N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute fnsSQL
End Function
Pouvez me réparer mes erreurs ?
Merci d'avance Cordialement Sonia!!!
Boujours
Houla c'est chaud avec ton code. J'ai fais ça matière de code. Mais c'est bourré d'erreur par manque de connaissance.
Voici ce que j'ai fais
Tout d'abord la requête contient ceci :
Champ : N_Article
Champ : DateCréation
Champ : Datefin (Fin de parution d'article)
Champ : Date de Suppression (Suppression définitive de l'article)
Code Module
Function fnsSQL(Date de Suppression As Date, N_Article) As Date
'MaN_Article = Nz(MaN_Article)
'MaN_Article = Val(MaN_Article)
Dim sSQL As string
fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" & MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]", "N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute fnsSQL
Boujours Houla c'est chaud avec ton code. J'ai fais ça matière de code. Mais c'est bourré d'erreur par manque de connaissance.
Voici ce que j'ai fais Tout d'abord la requête contient ceci :
Champ : N_Article Champ : DateCréation Champ : Datefin (Fin de parution d'article) Champ : Date de Suppression (Suppression définitive de l'article)
Code Module
Function fnsSQL(Date de Suppression As Date, N_Article) As Date 'MaN_Article = Nz(MaN_Article) 'MaN_Article = Val(MaN_Article) Dim sSQL As string fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" & MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]", "N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute fnsSQL
End Function
Pouvez me réparer mes erreurs ?
Merci d'avance Cordialement Sonia!!!
Sonia
Oup J'ai oublier de vous demander où insère-t-on dans la fonction ceci ?
Date de Suppression > Date du systeme
Oup J'ai oublier de vous demander où insère-t-on dans la fonction ceci ?
Oup J'ai oublier de vous demander où insère-t-on dans la fonction ceci ?
Date de Suppression > Date du systeme
3stone
Salut,
"Sonia"
Voici ce que j'ai fais Tout d'abord la requête contient ceci :
Champ : N_Article Champ : DateCréation Champ : Datefin (Fin de parution d'article) Champ : Date de Suppression (Suppression définitive de l'article)
Ok... Mais tout cela se retrouve bien dans une table, autant le supprimer directement dans la table. Car, je pense que veux supprimer un enregistrement ?
Pose le problème.
Tu veux supprimer un enregistrement qui possède une certain numéro et dont le champ [Date de suppression] est dépassé ( plus ancien que la date actuelle )
C'est ca ?
Si oui, crée une simple requête de suppression avec les champs: [N_Article] et [Date de suppression]
Comme critère, tu mets sous N_Article
[Quel numéro ?]
et que tu pourra remplacer par la suite par Forms![NomDuForm]![NomListeOuControle]
Sous le N_Article, tu mets
< Date()
Ce qui donnerai comme requete SQL la chaîne suivante:
DELETE * FROM LaTable WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Sonia"
Voici ce que j'ai fais
Tout d'abord la requête contient ceci :
Champ : N_Article
Champ : DateCréation
Champ : Datefin (Fin de parution d'article)
Champ : Date de Suppression (Suppression définitive de l'article)
Ok...
Mais tout cela se retrouve bien dans une table,
autant le supprimer directement dans la table.
Car, je pense que veux supprimer un enregistrement ?
Pose le problème.
Tu veux supprimer un enregistrement qui possède une
certain numéro et dont le champ [Date de suppression]
est dépassé ( plus ancien que la date actuelle )
C'est ca ?
Si oui, crée une simple requête de suppression avec les champs:
[N_Article] et [Date de suppression]
Comme critère, tu mets sous N_Article
[Quel numéro ?]
et que tu pourra remplacer par la suite par
Forms![NomDuForm]![NomListeOuControle]
Sous le N_Article, tu mets
< Date()
Ce qui donnerai comme requete SQL la chaîne suivante:
DELETE *
FROM LaTable
WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Voici ce que j'ai fais Tout d'abord la requête contient ceci :
Champ : N_Article Champ : DateCréation Champ : Datefin (Fin de parution d'article) Champ : Date de Suppression (Suppression définitive de l'article)
Ok... Mais tout cela se retrouve bien dans une table, autant le supprimer directement dans la table. Car, je pense que veux supprimer un enregistrement ?
Pose le problème.
Tu veux supprimer un enregistrement qui possède une certain numéro et dont le champ [Date de suppression] est dépassé ( plus ancien que la date actuelle )
C'est ca ?
Si oui, crée une simple requête de suppression avec les champs: [N_Article] et [Date de suppression]
Comme critère, tu mets sous N_Article
[Quel numéro ?]
et que tu pourra remplacer par la suite par Forms![NomDuForm]![NomListeOuControle]
Sous le N_Article, tu mets
< Date()
Ce qui donnerai comme requete SQL la chaîne suivante:
DELETE * FROM LaTable WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Sonia
Bonjour, J' ai fait ce que tu m'a dis mais cela ne fonctionne pas. Voici ce que j'ai fait
Le code module est le suivant Function fnsSQL(Date de Suppression As Date, N_Article) As Date 'MaN_Article = Nz(MaN_Article) 'MaN_Article = Val(MaN_Article) Dim sSQL As string fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" & MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]", "N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute fnsSQL
End Function
La requête
Requete : Suppression automatique Champ : N_Article : Date de Suppression Critère : [Quel Numero ?] : <Date()
Dans le sql de la requête : SELECT R.N_Article, R.[Date de Suppression] FROM R WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date()))
J y ai rajouter ton code :
DELETE* FROM La Table WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
ce qui donne ceci
SELECT R.N_Article, R.[Date de Suppression] FROM R WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date())) DELETE* FROM R WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
Ca ne fonctionne pas Sinon puis je t envoyé une bd exemple ?
Merci d'avance
Bonjour,
J' ai fait ce que tu m'a dis mais cela ne fonctionne pas.
Voici ce que j'ai fait
Le code module est le suivant
Function fnsSQL(Date de Suppression As Date, N_Article) As Date
'MaN_Article = Nz(MaN_Article)
'MaN_Article = Val(MaN_Article)
Dim sSQL As string
fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" &
MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]",
"N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute
fnsSQL
End Function
La requête
Requete : Suppression automatique
Champ : N_Article : Date de Suppression
Critère : [Quel Numero ?] : <Date()
Dans le sql de la requête :
SELECT R.N_Article, R.[Date de Suppression]
FROM R
WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date()))
J y ai rajouter ton code :
DELETE*
FROM La Table
WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date()
));
ce qui donne ceci
SELECT R.N_Article, R.[Date de Suppression]
FROM R
WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date()))
DELETE*
FROM R
WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date()
));
Ca ne fonctionne pas
Sinon puis je t envoyé une bd exemple ?
Bonjour, J' ai fait ce que tu m'a dis mais cela ne fonctionne pas. Voici ce que j'ai fait
Le code module est le suivant Function fnsSQL(Date de Suppression As Date, N_Article) As Date 'MaN_Article = Nz(MaN_Article) 'MaN_Article = Val(MaN_Article) Dim sSQL As string fnsSQL = "Delete [Date de Suppression] From [R] Where N_Article =" & MaN_Article & "where Format(DLookUp("[Date de Suppression]", "[R]", "N_Article =" & MaN_Article)" ,"#mm-dd-yyyy#") & ", "Currentdb.execute fnsSQL
End Function
La requête
Requete : Suppression automatique Champ : N_Article : Date de Suppression Critère : [Quel Numero ?] : <Date()
Dans le sql de la requête : SELECT R.N_Article, R.[Date de Suppression] FROM R WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date()))
J y ai rajouter ton code :
DELETE* FROM La Table WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
ce qui donne ceci
SELECT R.N_Article, R.[Date de Suppression] FROM R WHERE (((R.N_Article)=[Quel numéro ?]) AND ((R.[Date de Suppression])<Date())) DELETE* FROM R WHERE (( No_Article = [Quel numéro ?] ) AND ( [Date de suppression] < Date() ));
Ca ne fonctionne pas Sinon puis je t envoyé une bd exemple ?
Merci d'avance
3stone
Salut,
"Sonia"
[...]
Ca ne fonctionne pas Sinon puis je t envoyé une bd exemple ?
Ok...
enlève les ZZZZ
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Sonia"
[...]
Ca ne fonctionne pas
Sinon puis je t envoyé une bd exemple ?
Ok...
3stoneZZZZ@ZZZZskynet.be
enlève les ZZZZ
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------