Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
access13090 wrote:Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
access13090 wrote:
Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
access13090 wrote:Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
Le 08/07/2008, Fabien a supposé :access13090 wrote:Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises
dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Le 08/07/2008, Fabien a supposé :
access13090 wrote:
Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises
dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Le 08/07/2008, Fabien a supposé :access13090 wrote:Bonsoir à tou(te)s,
Dans une table CONTRAT, j'ai un champ CONTRAT_DATE (Date) et un champ
CONTRAT_DUREE (numérique : entier).
Je voudrais savoir s'il existe une solution permettant de lister via une
requête, un formulaire ou un état tous les contrats 10 jours avant
chacune de leur date d'anniversaire jusqu'à chacune de leur date
d'anniversaire et durant la durée x ?
Merci d'avance
Salut,
Pour ce qui est des calculs sur date utilises
dateadd("d",nbrjours,Ladate)
ou
Dateadd("m",nbrmois,ladate)
ect..
@+
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Salut
Peut-être qu'avec
Dim StrSql as String
Dim I as Integer
For i=1 to Madurée
StrSQl=strsql & "Select * from Contrat where Contrat_Date=#" &
format(dateadd("d",10,serialdate(year(MaDate)+i,Month(MaDate),Day(MaDate)),"yyyymmdd")
& "# Union "
Next I
StrSql=left(StrSQl,len(Strsql)-7) & ";" 'Pour enleve le denier " union " et
le remplacer par un ;
aprés soit ce sql est source du formulaire et tu peux faire
me.recordsource=strsql
me.refresh
Soit c'est une requte qui existe est qui est source d'un état ou d'un autre
formulaire alors currentdb.querydefs("lenomdelarequete").sql=StrSql
Soit tu peu demander l'execution de cette requete
Docmd.OpenQuery StrSQl
A toi de voir selon le contexte.
@+
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Salut
Peut-être qu'avec
Dim StrSql as String
Dim I as Integer
For i=1 to Madurée
StrSQl=strsql & "Select * from Contrat where Contrat_Date=#" &
format(dateadd("d",10,serialdate(year(MaDate)+i,Month(MaDate),Day(MaDate)),"yyyymmdd")
& "# Union "
Next I
StrSql=left(StrSQl,len(Strsql)-7) & ";" 'Pour enleve le denier " union " et
le remplacer par un ;
aprés soit ce sql est source du formulaire et tu peux faire
me.recordsource=strsql
me.refresh
Soit c'est une requte qui existe est qui est source d'un état ou d'un autre
formulaire alors currentdb.querydefs("lenomdelarequete").sql=StrSql
Soit tu peu demander l'execution de cette requete
Docmd.OpenQuery StrSQl
A toi de voir selon le contexte.
@+
Bonjour Fabien,
Merci pour la formule.
Mais comment faire, si cela est possible bien entendu, pour que l'action
se répète durant une durée déterminée ?
MaDate : jj/mm/aaaa
MaDurée : 3 ans
dateadd("d",10,serialdate(year(MaDate)+1,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+2,Month(MaDate),Day(MaDate))
dateadd("d",10,serialdate(year(MaDate)+3,Month(MaDate),Day(MaDate))
Au lieu d'avoir 3 lignes de formule dans cet exemple, en avoir qu'une
seule, et que la variable +1, +2, +3 soit calculée automatiquement avec
une structure répétitive Tant que ... Fin tant que ?
Merci d'avance.
Salut
Peut-être qu'avec
Dim StrSql as String
Dim I as Integer
For i=1 to Madurée
StrSQl=strsql & "Select * from Contrat where Contrat_Date=#" &
format(dateadd("d",10,serialdate(year(MaDate)+i,Month(MaDate),Day(MaDate)),"yyyymmdd")
& "# Union "
Next I
StrSql=left(StrSQl,len(Strsql)-7) & ";" 'Pour enleve le denier " union " et
le remplacer par un ;
aprés soit ce sql est source du formulaire et tu peux faire
me.recordsource=strsql
me.refresh
Soit c'est une requte qui existe est qui est source d'un état ou d'un autre
formulaire alors currentdb.querydefs("lenomdelarequete").sql=StrSql
Soit tu peu demander l'execution de cette requete
Docmd.OpenQuery StrSQl
A toi de voir selon le contexte.
@+
Bonjour Fabien,
Je suis un peu perdu.
J'ai donc recréé un formulaire ayant pour source la table PCE.Cette
table PCE contient entre autre
- le champ PCE_DATE (de type Date/heure au format jj/mm/aaaa)
- le champ PCE_DUREE (de type Numérique au format entier long)
La procédure peut être enclenchée à l'ouverture du formulaire ou par
clic sur un bouton de commande.
J'ai repris ta procédure et l'ai modifié comme ci-dessous. Mais j'ai ne
erreur d'exécution 3075 http://cjoint.com/?hnhumaWLPK
Dim StrSql As String
Dim i As Integer
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "Select * From PCE "
StrSql = StrSql & "Where Now() Between"
StrSql = StrSql & DateAdd("d", -10, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATE]), Day([PCE_DATE]))) & " And "
StrSql = StrSql & DateAdd("d", 1, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATEE]), Day([PCE_DATE]))
Next i
Dim rq As DAO.QueryDef
Set rq = CurrentDb.CreateQueryDef("tmpQuery", strSQL)
DoCmd.OpenQuery "tmpQuery"
CurrentDb.QueryDefs.Delete "tmpQuery"
Set rq = Nothing
End Sub
Le but de cette procédure étant de vérifier les pièces qui sont en cours
de validité selon PCE_DATE et PCE_DUREE en fonction de l'horloge système.
Exemple :
PCE_DATE = 15/01/2008
PCE_DUREE = 2
Ma requête TmpQuery devrait m'afficher toutes les pièces lorsque ma date
système se situe entre 05/01/2009 et le 16/01/2009 puis entre le
05/01/2010 et le 16/01/2010
Cordialement.
Bonjour Fabien,
Je suis un peu perdu.
J'ai donc recréé un formulaire ayant pour source la table PCE.Cette
table PCE contient entre autre
- le champ PCE_DATE (de type Date/heure au format jj/mm/aaaa)
- le champ PCE_DUREE (de type Numérique au format entier long)
La procédure peut être enclenchée à l'ouverture du formulaire ou par
clic sur un bouton de commande.
J'ai repris ta procédure et l'ai modifié comme ci-dessous. Mais j'ai ne
erreur d'exécution 3075 http://cjoint.com/?hnhumaWLPK
Dim StrSql As String
Dim i As Integer
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "Select * From PCE "
StrSql = StrSql & "Where Now() Between"
StrSql = StrSql & DateAdd("d", -10, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATE]), Day([PCE_DATE]))) & " And "
StrSql = StrSql & DateAdd("d", 1, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATEE]), Day([PCE_DATE]))
Next i
Dim rq As DAO.QueryDef
Set rq = CurrentDb.CreateQueryDef("tmpQuery", strSQL)
DoCmd.OpenQuery "tmpQuery"
CurrentDb.QueryDefs.Delete "tmpQuery"
Set rq = Nothing
End Sub
Le but de cette procédure étant de vérifier les pièces qui sont en cours
de validité selon PCE_DATE et PCE_DUREE en fonction de l'horloge système.
Exemple :
PCE_DATE = 15/01/2008
PCE_DUREE = 2
Ma requête TmpQuery devrait m'afficher toutes les pièces lorsque ma date
système se situe entre 05/01/2009 et le 16/01/2009 puis entre le
05/01/2010 et le 16/01/2010
Cordialement.
Bonjour Fabien,
Je suis un peu perdu.
J'ai donc recréé un formulaire ayant pour source la table PCE.Cette
table PCE contient entre autre
- le champ PCE_DATE (de type Date/heure au format jj/mm/aaaa)
- le champ PCE_DUREE (de type Numérique au format entier long)
La procédure peut être enclenchée à l'ouverture du formulaire ou par
clic sur un bouton de commande.
J'ai repris ta procédure et l'ai modifié comme ci-dessous. Mais j'ai ne
erreur d'exécution 3075 http://cjoint.com/?hnhumaWLPK
Dim StrSql As String
Dim i As Integer
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "Select * From PCE "
StrSql = StrSql & "Where Now() Between"
StrSql = StrSql & DateAdd("d", -10, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATE]), Day([PCE_DATE]))) & " And "
StrSql = StrSql & DateAdd("d", 1, DateSerial(Year([PCE_DATE]) + i,
Month([PCE_DATEE]), Day([PCE_DATE]))
Next i
Dim rq As DAO.QueryDef
Set rq = CurrentDb.CreateQueryDef("tmpQuery", strSQL)
DoCmd.OpenQuery "tmpQuery"
CurrentDb.QueryDefs.Delete "tmpQuery"
Set rq = Nothing
End Sub
Le but de cette procédure étant de vérifier les pièces qui sont en cours
de validité selon PCE_DATE et PCE_DUREE en fonction de l'horloge système.
Exemple :
PCE_DATE = 15/01/2008
PCE_DUREE = 2
Ma requête TmpQuery devrait m'afficher toutes les pièces lorsque ma date
système se situe entre 05/01/2009 et le 16/01/2009 puis entre le
05/01/2010 et le 16/01/2010
Cordialement.
Salut,
C'est logique cette erreur puisque tu contatène une suite de select.
Il faut passer par une 'union de select'
ensuite les dates sont toujours au format US et encardrées par # dans les SQL
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "SELECT * FROM PCE " & _
"WHERE now() Between #" & format(DateAdd("d", -10,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATE]),
Day([PCE_DATE]))),"mmddyyyy") & "# And #" & _
format(DateAdd("d", 1,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATEE]),
Day([PCE_DATE])),"mmddyyyy") & "# UNION "
> Next i
StrSQl=left(strsql,len(strsql)-6) & ";" ' pour enlever le dernier UNION et
le remplacer par un ;
.
.
.
@+
Salut,
C'est logique cette erreur puisque tu contatène une suite de select.
Il faut passer par une 'union de select'
ensuite les dates sont toujours au format US et encardrées par # dans les SQL
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "SELECT * FROM PCE " & _
"WHERE now() Between #" & format(DateAdd("d", -10,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATE]),
Day([PCE_DATE]))),"mmddyyyy") & "# And #" & _
format(DateAdd("d", 1,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATEE]),
Day([PCE_DATE])),"mmddyyyy") & "# UNION "
> Next i
StrSQl=left(strsql,len(strsql)-6) & ";" ' pour enlever le dernier UNION et
le remplacer par un ;
.
.
.
@+
Salut,
C'est logique cette erreur puisque tu contatène une suite de select.
Il faut passer par une 'union de select'
ensuite les dates sont toujours au format US et encardrées par # dans les SQL
For i = 1 To [PCE_DUREE]
StrSql = StrSql & "SELECT * FROM PCE " & _
"WHERE now() Between #" & format(DateAdd("d", -10,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATE]),
Day([PCE_DATE]))),"mmddyyyy") & "# And #" & _
format(DateAdd("d", 1,
DateSerial(Year([PCE_DATE]) + i, Month([PCE_DATEE]),
Day([PCE_DATE])),"mmddyyyy") & "# UNION "
> Next i
StrSQl=left(strsql,len(strsql)-6) & ";" ' pour enlever le dernier UNION et
le remplacer par un ;
.
.
.
@+