Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur 2465...trouve pas le champ "|" alors que le résultat recherché est une variable

12 réponses
Avatar
Guy FALESSE
Bonjour à tous,

Voici le code que j'utilise (Le code provient de chez W. Stucki :-))pour
calculer les heures et minutes et les afficher dans un champ texte
TxtTotalSem, j'ai aussi besoin de connaître le nombre de minutes donc, je me
sers de Temporaire= DateDiff("n", Nz([DateArrivée]), Nz([DateDépart])),
temporaire étant une variable
et là, l'erreur 2465 se produit, oui, mais, elle se produit avec ce
formulaire et pas avec un autre également basé sur la même table.
Qu'est-ce que c'est encore comme diablerie?
Dim TotalHrs, TotalMin, TempsJour, HrsMin As Integer, Temporaire
TotalHrs = 0
TotalMin = 0
TempsJour = 0
TempsJour = Me!HeureDépart - Me!HeureArrivée
TotalHrs = TotalHrs + Hour(TempsJour)
TotalMin = TotalMin + Minute(TempsJour)
' Le total des minutes pouvant être > 60, on extrait les heures et les
minutes restantes HrsMin = TotalMin \ 60
TotalMin = TotalMin Mod 60
TotalHrs = TotalHrs + HrsMin
' Pour afficher le résultat en format HH:MM
Me!txtTotalSem = Format(TotalHrs, "00") & " h" & ":" & Format(TotalMin,
"00") & " mn"
Temporaire = DateDiff("n", Nz([DateArrivée]), Nz([DateDépart]))
MsgBox Temporaire
Me!TotMin = Me!Texte8
Me!TempsPassé = Me!txtTotalSem

Voilà, D'avance merci à ceux qui trouveraient la solution, j'ai consulté
biensûr les multiples post concernant cette erreur 2465, en vain.

Guy FALESSE

10 réponses

1 2
Avatar
3stone
Salut,

"Guy FALESSE"
Voici le code que j'utilise (Le code provient de chez W. Stucki :-))


de quelle fonction s'agit-il ?

pour
calculer les heures et minutes et les afficher dans un champ texte
TxtTotalSem, j'ai aussi besoin de connaître le nombre de minutes donc, je me
sers de Temporaire= DateDiff("n", Nz([DateArrivée]), Nz([DateDépart])),
temporaire étant une variable
et là, l'erreur 2465 se produit, oui, mais, elle se produit avec ce
formulaire et pas avec un autre également basé sur la même table.
Qu'est-ce que c'est encore comme diablerie?
Dim TotalHrs, TotalMin, TempsJour, HrsMin As Integer, Temporaire


mauvaises déclarations...

Dim TotalHrs As Integer, TotalMin as integer, _
TempsJour as integer, HrsMin as integer, Temporaire as integer


car les non-typé sont déclarés Variant !


TotalHrs = 0
TotalMin = 0
TempsJour = 0
TempsJour = Me!HeureDépart - Me!HeureArrivée
TotalHrs = TotalHrs + Hour(TempsJour)
TotalMin = TotalMin + Minute(TempsJour)
' Le total des minutes pouvant être > 60, on extrait les heures et les
minutes restantes HrsMin = TotalMin 60
TotalMin = TotalMin Mod 60
TotalHrs = TotalHrs + HrsMin
' Pour afficher le résultat en format HH:MM
Me!txtTotalSem = Format(TotalHrs, "00") & " h" & ":" & Format(TotalMin,
"00") & " mn"
Temporaire = DateDiff("n", Nz([DateArrivée]), Nz([DateDépart]))
MsgBox Temporaire
Me!TotMin = Me!Texte8
Me!TempsPassé = Me!txtTotalSem

Voilà, D'avance merci à ceux qui trouveraient la solution, j'ai consulté
biensûr les multiples post concernant cette erreur 2465, en vain.


Mais, il manque du code, non ?
et que veux tu faire exactement, quel est ton besoin ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Guy FALESSE
Salut Pierre,

Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé sur une
table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème HeureDépart et le 3ème
Texte8 (peu importe) dans le source contrôle, j'ai mis ÚteDiff("n",
Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce fameux message erreur
2465, dans un module, là j'ai déclaré une variable appelée temporaire avec
la même fonction et même messge d'erreur.
Depuis, j'ai contourné le problème, en ayant un formulaire basé sur une
table qui a les champs HeureArrivée et HeureDépart, la fonction DateDiff ne
me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait pas le
champ "|", par contre avec la variable temporaire à qui je demandais de
faire la même chose, là, j'avais cette erreur 2465 et j'aurais voulu savoir
le pourquoi de la chose pour l'éviter les prochaines fois.
D'avance merci

Guy FALESSE



"3stone" a écrit dans le message de
news:%
Salut,

"Guy FALESSE"
Voici le code que j'utilise (Le code provient de chez W. Stucki :-))


de quelle fonction s'agit-il ?

pour
calculer les heures et minutes et les afficher dans un champ texte
TxtTotalSem, j'ai aussi besoin de connaître le nombre de minutes donc,
je me


sers de Temporaire= DateDiff("n", Nz([DateArrivée]), Nz([DateDépart])),
temporaire étant une variable
et là, l'erreur 2465 se produit, oui, mais, elle se produit avec ce
formulaire et pas avec un autre également basé sur la même table.
Qu'est-ce que c'est encore comme diablerie?
Dim TotalHrs, TotalMin, TempsJour, HrsMin As Integer, Temporaire


mauvaises déclarations...

Dim TotalHrs As Integer, TotalMin as integer, _
TempsJour as integer, HrsMin as integer, Temporaire as integer


car les non-typé sont déclarés Variant !


TotalHrs = 0
TotalMin = 0
TempsJour = 0
TempsJour = Me!HeureDépart - Me!HeureArrivée
TotalHrs = TotalHrs + Hour(TempsJour)
TotalMin = TotalMin + Minute(TempsJour)
' Le total des minutes pouvant être > 60, on extrait les heures et
les


minutes restantes HrsMin = TotalMin 60
TotalMin = TotalMin Mod 60
TotalHrs = TotalHrs + HrsMin
' Pour afficher le résultat en format HH:MM
Me!txtTotalSem = Format(TotalHrs, "00") & " h" & ":" &
Format(TotalMin,


"00") & " mn"
Temporaire = DateDiff("n", Nz([DateArrivée]), Nz([DateDépart]))
MsgBox Temporaire
Me!TotMin = Me!Texte8
Me!TempsPassé = Me!txtTotalSem

Voilà, D'avance merci à ceux qui trouveraient la solution, j'ai consulté
biensûr les multiples post concernant cette erreur 2465, en vain.


Mais, il manque du code, non ?
et que veux tu faire exactement, quel est ton besoin ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------







Avatar
3stone
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé sur une
table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème HeureDépart et le 3ème
Texte8 (peu importe) dans le source contrôle, j'ai mis ÚteDiff("n",
Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce fameux message erreur
2465, dans un module, là j'ai déclaré une variable appelée temporaire avec
la même fonction et même messge d'erreur.
Depuis, j'ai contourné le problème, en ayant un formulaire basé sur une
table qui a les champs HeureArrivée et HeureDépart, la fonction DateDiff ne
me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait pas le
champ "|", par contre avec la variable temporaire à qui je demandais de
faire la même chose, là, j'avais cette erreur 2465 et j'aurais voulu savoir
le pourquoi de la chose pour l'éviter les prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en retour ?
tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])), Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Guy FALESSE
Salut Pierre,

Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]), CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre expression.
Voilà, et j'aurais voulu savoir pourquoi, amors que la variable est bien
déclarée, même si elle est variant.
@+

Guy FALESSE

"3stone" a écrit dans le message de
news:
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé sur une
table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème HeureDépart et le
3ème


Texte8 (peu importe) dans le source contrôle, j'ai mis ÚteDiff("n",
Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce fameux message
erreur


2465, dans un module, là j'ai déclaré une variable appelée temporaire
avec


la même fonction et même messge d'erreur.
Depuis, j'ai contourné le problème, en ayant un formulaire basé sur une
table qui a les champs HeureArrivée et HeureDépart, la fonction DateDiff
ne


me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait pas le
champ "|", par contre avec la variable temporaire à qui je demandais de
faire la même chose, là, j'avais cette erreur 2465 et j'aurais voulu
savoir


le pourquoi de la chose pour l'éviter les prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en retour
?

tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])), Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------









Avatar
Eric
Bonjour Guy,


Je prends le post en cours donc je ne suis pas sur de te donner la bonne
répponse.
Si tu utilises une fonction dans un module du genre

Function Ecart(DateDepart As Date, DateFin As Date) As Long
Ecart = DateDiff("n", DateDepart , DateFin )
End Function

Il ne faut pas mettre les noms des champs dans la fonction, seulement
lors de l'appel.

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Ca t'aide ?

A+
Eric


Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]),
CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre
expression. Voilà, et j'aurais voulu savoir pourquoi, amors que la
variable est bien déclarée, même si elle est variant.
@+

Guy FALESSE

"3stone" a écrit dans le message de
news:
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé
sur une table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème
HeureDépart et le
3ème


Texte8 (peu importe) dans le source contrôle, j'ai mis
ÚteDiff("n", Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce
fameux message
erreur


2465, dans un module, là j'ai déclaré une variable appelée
temporaire
avec


la même fonction et même messge d'erreur.
Depuis, j'ai contourné le problème, en ayant un formulaire basé sur
une table qui a les champs HeureArrivée et HeureDépart, la fonction
DateDiff
ne


me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait
pas le champ "|", par contre avec la variable temporaire à qui je
demandais de faire la même chose, là, j'avais cette erreur 2465 et
j'aurais voulu
savoir


le pourquoi de la chose pour l'éviter les prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en
retour
?

tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])),
Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------














Avatar
3stone
Salut Guy,

"Guy FALESSE"
Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]), CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre expression.
Voilà, et j'aurais voulu savoir pourquoi, amors que la variable est bien
déclarée, même si elle est variant.


Oui, mais, la fonction se trouve où ?

comment lui passe tu les valeurs ?

[DateArrivée] et [DateDépart] sont bien des champs
ou zones de texte sur ton formulaire ?

avant ton Temporaire = ...

place un: Debug.Print [DateArrivée]
Debug.Print [DateDépart]

il indique quoi ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Eric
.../...

Oops, je n'ai pas fait attention à l'homonymie des arguments de la
fonction et des champs.

Donc ca donne :

Function Ecart(Debut As Date, Fin As Date) As Long
Ecart = DateDiff("n",Debut,Fin)
End Function

où Debut et Fin sont les arguments de la fonction

et lors de l'appel :

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Eric


Eric écrivait
news::

Bonjour Guy,


Je prends le post en cours donc je ne suis pas sur de te donner la
bonne

répponse.
Si tu utilises une fonction dans un module du genre

Function Ecart(DateDepart As Date, DateFin As Date) As Long
Ecart = DateDiff("n", DateDepart , DateFin )
End Function

Il ne faut pas mettre les noms des champs dans la fonction, seulement
lors de l'appel.

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Ca t'aide ?

A+
Eric


Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]),
CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre
expression. Voilà, et j'aurais voulu savoir pourquoi, amors que la
variable est bien déclarée, même si elle est variant.
@+

Guy FALESSE

"3stone" a écrit dans le message de
news:
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé
sur une table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème
HeureDépart et le 3ème
Texte8 (peu importe) dans le source contrôle, j'ai mis
ÚteDiff("n", Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce
fameux message erreur 2465, dans un module, là j'ai déclaré une
variable appelée temporaire avec la même fonction et même messge
d'erreur. Depuis, j'ai contourné le problème, en ayant un
formulaire basé sur une table qui a les champs HeureArrivée et
HeureDépart, la fonction DateDiff
ne


me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait
pas le champ "|", par contre avec la variable temporaire à qui je
demandais de faire la même chose, là, j'avais cette erreur 2465 et
j'aurais voulu savoir le pourquoi de la chose pour l'éviter les
prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en
retour ? tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])),
Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
----------------------------- http://users.skynet.be/mpfa
-----------------------------


















Avatar
Guy FALESSE
Salut Eric,
Merci de ta réponse, ce n'était pas exactement ça, mais je prends note de
ton conseil.
Je les prends tous, ils sont toujours les bienvenus. :-)
Je dois encore tester autre chose.
@+

Guy FALESSE

"Eric" a écrit dans le message de
news:
Bonjour Guy,


Je prends le post en cours donc je ne suis pas sur de te donner la bonne
répponse.
Si tu utilises une fonction dans un module du genre

Function Ecart(DateDepart As Date, DateFin As Date) As Long
Ecart = DateDiff("n", DateDepart , DateFin )
End Function

Il ne faut pas mettre les noms des champs dans la fonction, seulement
lors de l'appel.

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Ca t'aide ?

A+
Eric


Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]),
CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre
expression. Voilà, et j'aurais voulu savoir pourquoi, amors que la
variable est bien déclarée, même si elle est variant.
@+

Guy FALESSE

"3stone" a écrit dans le message de
news:
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé
sur une table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème
HeureDépart et le
3ème


Texte8 (peu importe) dans le source contrôle, j'ai mis
ÚteDiff("n", Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce
fameux message
erreur


2465, dans un module, là j'ai déclaré une variable appelée
temporaire
avec


la même fonction et même messge d'erreur.
Depuis, j'ai contourné le problème, en ayant un formulaire basé sur
une table qui a les champs HeureArrivée et HeureDépart, la fonction
DateDiff
ne


me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait
pas le champ "|", par contre avec la variable temporaire à qui je
demandais de faire la même chose, là, j'avais cette erreur 2465 et
j'aurais voulu
savoir


le pourquoi de la chose pour l'éviter les prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en
retour
?

tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])),
Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

















Avatar
Guy FALESSE
Salut Eric,

OK, merci pour la correction.
@+

Guy FALESSE

"Eric" a écrit dans le message de
news:
.../...

Oops, je n'ai pas fait attention à l'homonymie des arguments de la
fonction et des champs.

Donc ca donne :

Function Ecart(Debut As Date, Fin As Date) As Long
Ecart = DateDiff("n",Debut,Fin)
End Function

où Debut et Fin sont les arguments de la fonction

et lors de l'appel :

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Eric


Eric écrivait
news::

Bonjour Guy,


Je prends le post en cours donc je ne suis pas sur de te donner la
bonne

répponse.
Si tu utilises une fonction dans un module du genre

Function Ecart(DateDepart As Date, DateFin As Date) As Long
Ecart = DateDiff("n", DateDepart , DateFin )
End Function

Il ne faut pas mettre les noms des champs dans la fonction, seulement
lors de l'appel.

en source de ton contrôle tu mets :
ìart([DateDépart];[DateArrivée])

Ca t'aide ?

A+
Eric


Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]),
CDate([DateDépart]))
j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre
expression. Voilà, et j'aurais voulu savoir pourquoi, amors que la
variable est bien déclarée, même si elle est variant.
@+

Guy FALESSE

"3stone" a écrit dans le message de
news:
Salut,

"Guy FALESSE"
Merci de ta réponse et pour les déclarations des variables.
Mais le problème était que dans un formulaire qui n'est pas basé
sur une table, j'ai nommé 3 champs l'un HeureArrivée, le 2ème
HeureDépart et le 3ème
Texte8 (peu importe) dans le source contrôle, j'ai mis
ÚteDiff("n", Nz([DateArrivée]), Nz([DateDépart])), et j'ai eu ce
fameux message erreur 2465, dans un module, là j'ai déclaré une
variable appelée temporaire avec la même fonction et même messge
d'erreur. Depuis, j'ai contourné le problème, en ayant un
formulaire basé sur une table qui a les champs HeureArrivée et
HeureDépart, la fonction DateDiff
ne


me renvoit plus le message d'erreur 2465 disant qu'il ne trouvait
pas le champ "|", par contre avec la variable temporaire à qui je
demandais de faire la même chose, là, j'avais cette erreur 2465 et
j'aurais voulu savoir le pourquoi de la chose pour l'éviter les
prochaines fois.



Heu... je n'ai pas compris grand chose, là...

Mais, Nz([DateArrivée]) n'est pas idéal. Tu attends quoi en
retour ? tu devrai essayer Nz([DateArrivée],Date)
qui te rend la date actuelle si [DateArrivée] est Null.

Voir mieux: DateDiff("n",Cdate([DateArrivée])),
Cdate([DateDépart]))


--
A+
Pierre (3stone) Access MVP
----------------------------- http://users.skynet.be/mpfa
-----------------------------





















Avatar
Guy FALESSE
Salut Pierre,
La fonction était passée au recordSource comme
forms!machin!texte8=temporaire.
Mais, laisse tomber, maintenant, ça fonctionne, je me demande si je n'avais
pas mélangé DateDépart et HeureDépart ce qui expliquerait tout, parce que
j'ai refait un formulaire basé sur aucune table et ça a l'air de
fonctionner.
En tout cas, merci pour tes recherches.
Je ne vais plus oser demander quoi que soit :(
@+

Guy FALESSE


"3stone" a écrit dans le message de
news:%23$
Salut Guy,

"Guy FALESSE"
Voilà, je viens de tester ta fonction comme ci-dessous:
Dim temporaire 'variable
temporaire = DateDiff("n", CDate([DateArrivée]),
CDate([DateDépart]))


j'ai lancé la fonction et ça n'a pas raté, erreur 2465, impossible de
trouver le champ "|" auquel il est fait référence dans votre expression.
Voilà, et j'aurais voulu savoir pourquoi, amors que la variable est bien
déclarée, même si elle est variant.


Oui, mais, la fonction se trouve où ?

comment lui passe tu les valeurs ?

[DateArrivée] et [DateDépart] sont bien des champs
ou zones de texte sur ton formulaire ?

avant ton Temporaire = ...

place un: Debug.Print [DateArrivée]
Debug.Print [DateDépart]

il indique quoi ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------







1 2