OVH Cloud OVH Cloud

etrange sur gros formulaire

6 réponses
Avatar
eric
bonjour
j ai un assez gros formulaire avec 5 onglets
dans le formulaire, sur l'onglet 5 j ai deux champs texte
le premier (text1) a une valeur par defaut a =3D date()
le second a une valeur par defaut a =3D text1 + 2
le programme est compil=E9e en mde , les bases sont des=20
bases attach=E9es
tous les ordinateurs sur lesquel sont install=E9s le=20
programme sont en w2000 access 2002
sur les 2/3 des ordi tout marche bien
sur le tiers restant, sur un des deux champs il y a=20
marqu=E9 #nom et sur l'autre #erreur=20
si quelqu'un a une id=E9e........=20
merci

6 réponses

Avatar
Anor
Bonjour

eric a confié :
| bonjour
| j ai un assez gros formulaire avec 5 onglets
| dans le formulaire, sur l'onglet 5 j ai deux champs texte
| le premier (text1) a une valeur par defaut a = date()
| le second a une valeur par defaut a = text1 + 2
| le programme est compilée en mde , les bases sont des
| bases attachées
| tous les ordinateurs sur lesquel sont installés le
| programme sont en w2000 access 2002
| sur les 2/3 des ordi tout marche bien
| sur le tiers restant, sur un des deux champs il y a
| marqué #nom et sur l'autre #erreur
| si quelqu'un a une idée........
| merci

Le #Nom est dû à un problème de références qui n'ont pas bien été identifiées lors du
déploiement....
Le #erreur est du au fait que c'estquoicetruc + 2 = erreur.

à la place de Úte(), mettre dans le champ
= vba.date qui va se transformer en =[VBA].[DATE]

on peut aussi faire comme ceci :
= format(now,"dd/mm/yyyy")

Je pense de toute façon qu'il va falloir refaire ton mde
et tant que tu seras dans ton mdb, vérifie dans un module
ou en faisant alt+F11 que seules les références utiles sont cochées.

Vu que tu saisis des valeurs par défaut directement dans les proptiétés des champs,
je suppose qu'il ne doit pas y avoir cinquante millions de fonctions vba dans ta base.

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
Avatar
eric
merci
je cais tester et regarder
par contre sur mon ordi, le =vba.dat retourne l'erreur
#nom que je trouvais sur certains des autres ordinateurs
(alors que sur mon pc le Úte() marchait)

si ca t aide pour aller plus en avant ........

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

eric a confié :
| bonjour
| j ai un assez gros formulaire avec 5 onglets
| dans le formulaire, sur l'onglet 5 j ai deux champs
texte

| le premier (text1) a une valeur par defaut a = date
()

| le second a une valeur par defaut a = text1 + 2
| le programme est compilée en mde , les bases sont des
| bases attachées
| tous les ordinateurs sur lesquel sont installés le
| programme sont en w2000 access 2002
| sur les 2/3 des ordi tout marche bien
| sur le tiers restant, sur un des deux champs il y a
| marqué #nom et sur l'autre #erreur
| si quelqu'un a une idée........
| merci

Le #Nom est dû à un problème de références qui n'ont pas
bien été identifiées lors du

déploiement....
Le #erreur est du au fait que c'estquoicetruc + 2 =
erreur.


à la place de Úte(), mettre dans le champ
= vba.date qui va se transformer en =[VBA].[DATE]

on peut aussi faire comme ceci :
= format(now,"dd/mm/yyyy")

Je pense de toute façon qu'il va falloir refaire ton mde
et tant que tu seras dans ton mdb, vérifie dans un module
ou en faisant alt+F11 que seules les références utiles
sont cochées.


Vu que tu saisis des valeurs par défaut directement dans
les proptiétés des champs,

je suppose qu'il ne doit pas y avoir cinquante millions
de fonctions vba dans ta base.


--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------


.



Avatar
Anor
Bonjour

ah oui désolé : le vba.date, on ne peut l'appeler que depuis un module :

function DateduJour() as Date
DateduJour = vba.date
end function

puis dans la propriété du champ :

= DateduJour()

ou alors dans l'événement sur ouverture du formulaire :

Private Sub Form_Open(Cancel As Integer)
me!text1.value = vba.Date
me!text2.value = vba.Date + 2
End Sub

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------

eric a confié :
| merci
| je cais tester et regarder
| par contre sur mon ordi, le =vba.dat retourne l'erreur
| #nom que je trouvais sur certains des autres ordinateurs
| (alors que sur mon pc le Úte() marchait)
|
| si ca t aide pour aller plus en avant ........
|
|| -----Message d'origine-----
|| Bonjour
||
|| eric a confié :
||| bonjour
||| j ai un assez gros formulaire avec 5 onglets
||| dans le formulaire, sur l'onglet 5 j ai deux champs texte
||| le premier (text1) a une valeur par defaut a = date ()
||| le second a une valeur par defaut a = text1 + 2
||| le programme est compilée en mde , les bases sont des
||| bases attachées
||| tous les ordinateurs sur lesquel sont installés le
||| programme sont en w2000 access 2002
||| sur les 2/3 des ordi tout marche bien
||| sur le tiers restant, sur un des deux champs il y a
||| marqué #nom et sur l'autre #erreur
||| si quelqu'un a une idée........
||| merci
||
|| Le #Nom est dû à un problème de références qui n'ont pas bien été
|| identifiées lors du déploiement....
|| Le #erreur est du au fait que c'estquoicetruc + 2 = erreur.
||
|| à la place de Úte(), mettre dans le champ
|| = vba.date qui va se transformer en =[VBA].[DATE]
||
|| on peut aussi faire comme ceci :
|| = format(now,"dd/mm/yyyy")
||
|| Je pense de toute façon qu'il va falloir refaire ton mde
|| et tant que tu seras dans ton mdb, vérifie dans un module
|| ou en faisant alt+F11 que seules les références utiles sont cochées.
||
|| Vu que tu saisis des valeurs par défaut directement dans les
|| proptiétés des champs, je suppose qu'il ne doit pas y avoir
|| cinquante millions de fonctions vba dans ta base.
||
|| --
|| à+
|| Arnaud
|| --------------------------------------------------
|| Conseils d'utilisation, sites recommandés :
|| http://users.skynet.be/mpfa/
|| Access Memorandum - http://memoaccess.free.fr
|| --------------------------------------------------
||
||
|| .
Avatar
Anor
Bonjour eric

eric a confié :
| ok merci
| j avais deja mis sur l ouverture du formulaire
| texte1Úte
|
| c est quoi lz différence avec
| texte1=vba.date ?

Aucune.
Quand il y a un conflit sur un nom de fonction qui se trouve dans plusieurs bibliothèques
référencées,
ou qu'un nom de champ s'appelle Date par exemple, Access ne sait pas si on parle du champ de la
table qui s'appelle date, d'un contrôle qui s'appelleraît date, d'une variable qui s'appellerait
date,
d'un quelconque objet access qui s'appellerait date, etc....

en mettant vba.date, on dit clairement à access ce qu'il doit aller voir.

| et sinon une idée parquoi le Úte() dans le valeur par
| defaut du controle fonctionne bien sur la plupart des pc
| et pas sur d'autres
| (sur les pc ou cela ne fonctionne pas, ca fonctionne si
| je crée un formulaire vierge avec que ce champ, par
| contre sur mon formulaire chargé, cela ne fonctionne pas)
| merci

C'est ce que j'avais écrit dans mon précédent message :
un problème de référence.
Décoche toutes celles qui ne sont pas utiles à ton appli
et reconstruits ton mde.

Une dll sur un poste peut ne pas être trouvée sur un autre et provoquer
un conflit.


--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
Avatar
eric
ok, merci beaucoup pour ton aide
ta reponse amene trois questions
1) si je decoche des references sur mon pc et qu'elles
etaient utiles, l'erreur va-t-elle apparaitre au moment
de la compilation ou au moment ou le programme va avoir
besoin de la reference (lors du clic dun bouton dans un
formulaire par exemple)

2) ta réponse sous-entend donc qu'il faut que les pc sur
lesquel j'installe mon mde aient aussi les memes
references?

3) N'y a-t-il pas moyen de compiller aussi les references
a l'interieur de mon mde afin de pouvoir installer ce mde
sur n'importe quel pc sans avoir a tennir compte des
references installées ou pas?








-----Message d'origine-----
Bonjour eric

eric a confié :
| ok merci
| j avais deja mis sur l ouverture du formulaire
| texte1Úte
|
| c est quoi lz différence avec
| texte1=vba.date ?

Aucune.
Quand il y a un conflit sur un nom de fonction qui se
trouve dans plusieurs bibliothèques

référencées,
ou qu'un nom de champ s'appelle Date par exemple, Access
ne sait pas si on parle du champ de la

table qui s'appelle date, d'un contrôle qui
s'appelleraît date, d'une variable qui s'appellerait

date,
d'un quelconque objet access qui s'appellerait date,
etc....


en mettant vba.date, on dit clairement à access ce qu'il
doit aller voir.


| et sinon une idée parquoi le Úte() dans le valeur par
| defaut du controle fonctionne bien sur la plupart des
pc

| et pas sur d'autres
| (sur les pc ou cela ne fonctionne pas, ca fonctionne si
| je crée un formulaire vierge avec que ce champ, par
| contre sur mon formulaire chargé, cela ne fonctionne
pas)

| merci

C'est ce que j'avais écrit dans mon précédent message :
un problème de référence.
Décoche toutes celles qui ne sont pas utiles à ton appli
et reconstruits ton mde.

Une dll sur un poste peut ne pas être trouvée sur un
autre et provoquer

un conflit.


--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------



.



Avatar
Anor
Bonjour
eric a confié :
| ok, merci beaucoup pour ton aide
| ta reponse amene trois questions

aïe

| 1) si je decoche des references sur mon pc et qu'elles
| etaient utiles, l'erreur va-t-elle apparaitre au moment
| de la compilation ou au moment ou le programme va avoir
| besoin de la reference (lors du clic dun bouton dans un
| formulaire par exemple)

normalement, au moment de la compilation, tu as un message d'erreur
au niveau du dim truc = machin.chose

| 2) ta réponse sous-entend donc qu'il faut que les pc sur
| lesquel j'installe mon mde aient aussi les memes
| references?

non : mais les risques d'erreurs sont d'autant plus faibles que
tu déploies ton mde sur des postes avec OS + version access identiques.
(fichiers aux mêmes endroits)

| 3) N'y a-t-il pas moyen de compiller aussi les references
| a l'interieur de mon mde afin de pouvoir installer ce mde
| sur n'importe quel pc sans avoir a tennir compte des
| references installées ou pas?

ça dépend.
Des cas.
C'est à essayer :
Par exemple, dans certains cas, un

dim machin as new chose
with machin
.truc
.schmule
end with

ou

dim machin as chose
set machin = createobject("chose")
with machin
.truc
.schmule
end with

peut être remplacé par
with createobject("chose")
.truc
.schlmule
end with

cette dernière syntaxe se passe de la référence cochée, mais ça ne marche pas à tout les coups
!!

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------