OVH Cloud OVH Cloud

critère

12 réponses
Avatar
didier
Bonjour

J'essais d'am=E9liorr=E9 une fonction pour ajouter un crit=E9re=20
=E0 la fonction Autonum de notre ami Raymond
J'ai rajout=E9 la variable FieldDate
je d=E9finit mes variables comme suit:
Public Function AutoNum(AutoNumType As AutoType,=20
TableName As String, FieldName As String, FieldDate As=20
String, DateJ As Date) As String
et dans la fonction j'ai mis
lgTmp =3DNz(DMax(FieldName, TableName, Format
(FieldDate,"yy")=3DFormat(DateJ,"yy")),0)

Ma syntaxe de mon crit=E9re est mauvaise
Format(FieldDate,"yy")=3DFormat(DateJ,"yy") ne fonctionne=20
pas

Par contre la fonction, directement mis dans mon=20
formulaire,
lgTmp =3DNz(DMax("monchamp", "matable", "Format
(Datetable,'yy')=3D" & Format(Me!Datef,"yy") & ""),0) me=20
revoit le bon nombre

Merci d'avance pour la correction du crit=E9re

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

ton critère ne fait que renvoyer True ou false actuellement.
lgTmp =Nz(DMax(FieldName, TableName, Format(FieldDate,"yy") & "=" &
Format(DateJ,"yy")),0)

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"didier" a écrit dans le message de
news: 0bc301c4f4d3$a6571c20$
Bonjour

J'essais d'améliorré une fonction pour ajouter un critére
à la fonction Autonum de notre ami Raymond
J'ai rajouté la variable FieldDate
je définit mes variables comme suit:
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
String, DateJ As Date) As String
et dans la fonction j'ai mis
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy")=Format(DateJ,"yy")),0)

Ma syntaxe de mon critére est mauvaise
Format(FieldDate,"yy")=Format(DateJ,"yy") ne fonctionne
pas

Par contre la fonction, directement mis dans mon
formulaire,
lgTmp =Nz(DMax("monchamp", "matable", "Format
(Datetable,'yy')=" & Format(Me!Datef,"yy") & ""),0) me
revoit le bon nombre

Merci d'avance pour la correction du critére
Avatar
Didier
Bonjour Raymond

Apparement ça ne fonctionne pas mieux
lgTmp est noujours égal à 0 c'est à dire que le critére
fonctionne pas est donc DMax est null
Ce que je souhaite c'est que le DMax me renvoit le
dernier N° suivant l'année de DateJ

-----Message d'origine-----
Bonjour.

ton critère ne fait que renvoyer True ou false
actuellement.

lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" &

Format(DateJ,"yy")),0)

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"didier" a écrit
dans le message de

news: 0bc301c4f4d3$a6571c20$
Bonjour

J'essais d'améliorré une fonction pour ajouter un critére
à la fonction Autonum de notre ami Raymond
J'ai rajouté la variable FieldDate
je définit mes variables comme suit:
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
String, DateJ As Date) As String
et dans la fonction j'ai mis
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy")=Format(DateJ,"yy")),0)

Ma syntaxe de mon critére est mauvaise
Format(FieldDate,"yy")=Format(DateJ,"yy") ne fonctionne
pas

Par contre la fonction, directement mis dans mon
formulaire,
lgTmp =Nz(DMax("monchamp", "matable", "Format
(Datetable,'yy')=" & Format(Me!Datef,"yy") & ""),0) me
revoit le bon nombre

Merci d'avance pour la correction du critére





.



Avatar
Raymond [mvp]
la 1ere syntaxe est bonne mais le type de FieldDate n'est pas bon, il doit
être date.
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
Date, DateJ As Date) As String
soit il est date soit il faut le convertir en date par cdate(.....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 15d301c4f4d9$b3f7ab50$
Bonjour Raymond

Apparement ça ne fonctionne pas mieux
lgTmp est noujours égal à 0 c'est à dire que le critére
fonctionne pas est donc DMax est null
Ce que je souhaite c'est que le DMax me renvoit le
dernier N° suivant l'année de DateJ

Avatar
Didier
Bonjour
Mon champ FieldDate contient des Dates
Mais dans
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
Date, DateJ As Date) As String
Je pense qu'il faut mettre FieldDate As string car c'est
le nom du champ que l'on récupère ici est non les données
du champ
Est-ce exact?
Dans mon formulaire je lance:
Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
car si je met FieldDate As Date il me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je mets FieldDate As string la fonction
s'éxécute mais il reourne toujours yymm00001

-----Message d'origine-----
la 1ere syntaxe est bonne mais le type de FieldDate
n'est pas bon, il doit

être date.
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
Date, DateJ As Date) As String
soit il est date soit il faut le convertir en date par

cdate(.....

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit
dans le message de

news: 15d301c4f4d9$b3f7ab50$
Bonjour Raymond

Apparement ça ne fonctionne pas mieux
lgTmp est noujours égal à 0 c'est à dire que le critére
fonctionne pas est donc DMax est null
Ce que je souhaite c'est que le DMax me renvoit le
dernier N° suivant l'année de DateJ


.




Avatar
Raymond [mvp]
d'après ta fonction:
Format (FieldDate,"yy")=Format(DateJ,"yy")),0)
ce n'est pas le nom mais la valeur qu'il faut donner donc il faut la
déclarer en type Date de partout.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 1a2701c4f58f$6e9407a0$
Bonjour
Mon champ FieldDate contient des Dates
Mais dans
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
Date, DateJ As Date) As String
Je pense qu'il faut mettre FieldDate As string car c'est
le nom du champ que l'on récupère ici est non les données
du champ
Est-ce exact?
Dans mon formulaire je lance:
Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
car si je met FieldDate As Date il me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je mets FieldDate As string la fonction
s'éxécute mais il reourne toujours yymm00001
Avatar
Didier
Ma fonction
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, Fielddate As String, Fielddate As
Date, DateJ As Date) As String
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" & Format(DateJ,"yy")),0)

Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
Cela me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je fais directement
Me!T =Nz(DMax("monchampN°", "Matable", "Format
([monchampdate],'yy')=" & Format(Me!D,"yy") & ""),0) me
revoit le bon nombre
Ou est l'erreur car je ne voit pas
-----Message d'origine-----
d'après ta fonction:
Format (FieldDate,"yy")=Format(DateJ,"yy")),0)
ce n'est pas le nom mais la valeur qu'il faut donner
donc il faut la

déclarer en type Date de partout.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit
dans le message de

news: 1a2701c4f58f$6e9407a0$
Bonjour
Mon champ FieldDate contient des Dates
Mais dans
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, FieldName As String, FieldDate As
Date, DateJ As Date) As String
Je pense qu'il faut mettre FieldDate As string car c'est
le nom du champ que l'on récupère ici est non les données
du champ
Est-ce exact?
Dans mon formulaire je lance:
Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
car si je met FieldDate As Date il me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je mets FieldDate As string la fonction
s'éxécute mais il reourne toujours yymm00001


.



Avatar
Raymond [mvp]
il faut que le type soit identique entre le dim de fielddate (ou le type de
champ) et le type indiqué dans la fonction.
peux-tu me passer ta base en m'indiquant l'endroit où ça se passe ? enlève
XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 1abc01c4f5a3$53f695c0$
Ma fonction
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, Fielddate As String, Fielddate As
Date, DateJ As Date) As String
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" & Format(DateJ,"yy")),0)

Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
Cela me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je fais directement
Me!T =Nz(DMax("monchampN°", "Matable", "Format
([monchampdate],'yy')=" & Format(Me!D,"yy") & ""),0) me
revoit le bon nombre
Ou est l'erreur car je ne voit pas
Avatar
Pierre CFI [mvp]
juste en grain de sel
format(mdate,"yy") ne retourne pas une valeur texte ? je suis pas sur

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message de news:
il faut que le type soit identique entre le dim de fielddate (ou le type de
champ) et le type indiqué dans la fonction.
peux-tu me passer ta base en m'indiquant l'endroit où ça se passe ? enlève
XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 1abc01c4f5a3$53f695c0$
Ma fonction
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, Fielddate As String, Fielddate As
Date, DateJ As Date) As String
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" & Format(DateJ,"yy")),0)

Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
Cela me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je fais directement
Me!T =Nz(DMax("monchampN°", "Matable", "Format
([monchampdate],'yy')=" & Format(Me!D,"yy") & ""),0) me
revoit le bon nombre
Ou est l'erreur car je ne voit pas




Avatar
Raymond [mvp]
Bonsoir Pierre.

Si, mais vu que c'est une égalité entre 2 formats, c'est bon.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news: %
juste en grain de sel
format(mdate,"yy") ne retourne pas une valeur texte ? je suis pas sur

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message
de news:
il faut que le type soit identique entre le dim de fielddate (ou le type
de
champ) et le type indiqué dans la fonction.
peux-tu me passer ta base en m'indiquant l'endroit où ça se passe ?
enlève
XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 1abc01c4f5a3$53f695c0$
Ma fonction
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, Fielddate As String, Fielddate As
Date, DateJ As Date) As String
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" & Format(DateJ,"yy")),0)

Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
Cela me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je fais directement
Me!T =Nz(DMax("monchampN°", "Matable", "Format
([monchampdate],'yy')=" & Format(Me!D,"yy") & ""),0) me
revoit le bon nombre
Ou est l'erreur car je ne voit pas








Avatar
Pierre CFI [mvp]
oui, mais si tout était dans les " ", je sais pas il y a qq chose qui me chifonne
Marseille 2 Angers 3

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message de news:
Bonsoir Pierre.

Si, mais vu que c'est une égalité entre 2 formats, c'est bon.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news: %
juste en grain de sel
format(mdate,"yy") ne retourne pas une valeur texte ? je suis pas sur

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message
de news:
il faut que le type soit identique entre le dim de fielddate (ou le type
de
champ) et le type indiqué dans la fonction.
peux-tu me passer ta base en m'indiquant l'endroit où ça se passe ?
enlève
XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Didier" a écrit dans le message de
news: 1abc01c4f5a3$53f695c0$
Ma fonction
Public Function AutoNum(AutoNumType As AutoType,
TableName As String, Fielddate As String, Fielddate As
Date, DateJ As Date) As String
lgTmp =Nz(DMax(FieldName, TableName, Format
(FieldDate,"yy") & "=" & Format(DateJ,"yy")),0)

Me!T = AutoNum
(Mois, "monchampN°", "Matable", "monchampdate", Me!D)
Cela me mets incomptabilité
de type quand je lance la fonction sur
Me!T..................
alors que si je fais directement
Me!T =Nz(DMax("monchampN°", "Matable", "Format
([monchampdate],'yy')=" & Format(Me!D,"yy") & ""),0) me
revoit le bon nombre
Ou est l'erreur car je ne voit pas












1 2