OVH Cloud OVH Cloud

Affichage données à l'ouverture formulaire

6 réponses
Avatar
thommen ulgar
Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une autre
table (appelons la T) dont la structure est très simple: 3 champs (année,
valeur_1, valeur_2). Il y a donc 2 valeurs possible par année, une que l'on
complète en Février, l'autre en Août. J'aurais donc souhaité que le champ
"valeur de départ" du formulaire F s'ouvre avec la dernière valeur de la
dernière année enregistrée (la valeur 1 ou la valeur 2).
Comment faire cela ? Je signale au passage que j'étudie depuis peu Access...
En vous remerciant pour votre aide,
Thommen

6 réponses

Avatar
mouly
"thommen ulgar" wrote in
news:41ec5704$0$345$:

Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une
autre table (appelons la T)



salut thommen,

Tu fixes la valeur de ce champ par le code, dans l'evenement
'Sur Ouverture'.

avec quelquechose comme Me!MonControleText = Dlookup(ce qu'il faut ...)

la fonction dlookup te permet d'aller chercher des infos dans une table
comme avec une requête


--
mouly
mouly2 at yahoo dot com

Avatar
thommen ulgar
Waouw, je vais me renseigner sur les fonctions Dlookup mais je ne vois pas
comment sélectionner le dernier champ complété par rapport à une année.
Merci en tout cas Mouly pour ton coup de main
"thommen ulgar" a écrit dans le message de
news:41ec5704$0$345$
Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une autre
table (appelons la T) dont la structure est très simple: 3 champs (année,
valeur_1, valeur_2). Il y a donc 2 valeurs possible par année, une que
l'on

complète en Février, l'autre en Août. J'aurais donc souhaité que le champ
"valeur de départ" du formulaire F s'ouvre avec la dernière valeur de la
dernière année enregistrée (la valeur 1 ou la valeur 2).
Comment faire cela ? Je signale au passage que j'étudie depuis peu
Access...

En vous remerciant pour votre aide,
Thommen




Avatar
thommen ulgar
Personne n'aurait une autre idée, je coince solidement... Toute aide est la
bienvenue :)

"thommen ulgar" a écrit dans le message de
news:41ec5704$0$345$
Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une autre
table (appelons la T) dont la structure est très simple: 3 champs (année,
valeur_1, valeur_2). Il y a donc 2 valeurs possible par année, une que
l'on

complète en Février, l'autre en Août. J'aurais donc souhaité que le champ
"valeur de départ" du formulaire F s'ouvre avec la dernière valeur de la
dernière année enregistrée (la valeur 1 ou la valeur 2).
Comment faire cela ? Je signale au passage que j'étudie depuis peu
Access...

En vous remerciant pour votre aide,
Thommen




Avatar
Raymond [mvp]
Bonjour.

tu peux essayer cette procédure dans l'évènement form_load.
Dim X As Variant
X = DLookup("valeur_2", "T", "[année]= year(date)")
If Nz(X, "") = "" Then
X = (DLookup("valeur_1", "T", "[année]= year(date)"))
End If

X étant ta valeur de départ.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thommen ulgar" a écrit dans le message de
news: 41eeeb68$0$329$
Personne n'aurait une autre idée, je coince solidement... Toute aide est
la
bienvenue :)

"thommen ulgar" a écrit dans le message de
news:41ec5704$0$345$
Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une
autre
table (appelons la T) dont la structure est très simple: 3 champs (année,
valeur_1, valeur_2). Il y a donc 2 valeurs possible par année, une que
l'on

complète en Février, l'autre en Août. J'aurais donc souhaité que le champ
"valeur de départ" du formulaire F s'ouvre avec la dernière valeur de la
dernière année enregistrée (la valeur 1 ou la valeur 2).
Comment faire cela ? Je signale au passage que j'étudie depuis peu
Access...

En vous remerciant pour votre aide,
Thommen








Avatar
thommen ulgar
Bonjour Raymod et merci pour ta solution,

Malheureusement, après plein d'éssais, ça ne fonctionne pas, le débogueur se
met en marche illico et surligne en jaune la ligne suivante:

X = DLookup("valeur_2", "T", "[année]= year(date)")

Le champ "année" de la table "T" n'est pas au format date/heure, mais
simplement un numérique.

J'ai tenté de le changer en date/heure mais je dois alors introduire
DD/MM/YYYY, et il me faut juste les années.

Le format numérique de départ n'est pas bon ? J'ai mis sur ce champ une clé
primaire pour éviter les doublons.

J'ai remplacé le X de ton code par le nom du champ "valeur de départ" (vdd).
La fonction Dlookup cherche-t-il l'entrée du dernier enregistrement ?

Dois-je aussi ajouter des informations dans les propriétés du champ "vdd" de
mon formulaire ?

Sorry pour toutes ces questions de novice... J'aurais souhaité prendre le
tps nécessaire à l'apprentissage d'Access mais je dois créer ce formulaire
dans l'urgence :(

Cordialement, Thommen

"Raymond [mvp]" a écrit dans le message de
news:ejG8KCu$
Bonjour.

tu peux essayer cette procédure dans l'évènement form_load.
Dim X As Variant
X = DLookup("valeur_2", "T", "[année]= year(date)")
If Nz(X, "") = "" Then
X = (DLookup("valeur_1", "T", "[année]= year(date)"))
End If

X étant ta valeur de départ.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thommen ulgar" a écrit dans le message de
news: 41eeeb68$0$329$
Personne n'aurait une autre idée, je coince solidement... Toute aide est
la
bienvenue :)

"thommen ulgar" a écrit dans le message de
news:41ec5704$0$345$
Bonjour à tous,
J'ai un formulaire (on va l'appeler F) qui contient notament un champ
"valeur de départ". J'aurais souhaité que ce champ contienne, dès
l'ouverture du formulaire (car il servira de base à des calculs
mathématiques), la dernière valeur contenue dans un des champs d'une
autre
table (appelons la T) dont la structure est très simple: 3 champs
(année,



valeur_1, valeur_2). Il y a donc 2 valeurs possible par année, une que
l'on

complète en Février, l'autre en Août. J'aurais donc souhaité que le
champ



"valeur de départ" du formulaire F s'ouvre avec la dernière valeur de
la



dernière année enregistrée (la valeur 1 ou la valeur 2).
Comment faire cela ? Je signale au passage que j'étudie depuis peu
Access...

En vous remerciant pour votre aide,
Thommen












Avatar
Raymond [mvp]
le X doit être déclaré en Variant car il peut recevoir la valeur Null ou
alors placer un Nz(DLookup....)
X = Nz(DLookup("valeur_2", "T", "[année]= year(date())"),?)
remplacer le ? par la valeur de remplacement de Null
remplace year(date) par year(date()) on ne sait jamais.
J'ai remplacé le X de ton code par le nom du champ "valeur de départ"
(vdd).
La fonction Dlookup cherche-t-il l'entrée du dernier enregistrement ?
non, le premier trouvé de façon aléatoire.

si tu ne trouves pas envoie ta base par mail en zip si possible, tu enlèves
XYZ. (le point aussi) dans mon adresse.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thommen ulgar" a écrit dans le message de
news: 41f25bc6$0$310$
Bonjour Raymod et merci pour ta solution,

Malheureusement, après plein d'éssais, ça ne fonctionne pas, le débogueur
se
met en marche illico et surligne en jaune la ligne suivante:

X = DLookup("valeur_2", "T", "[année]= year(date)")

Le champ "année" de la table "T" n'est pas au format date/heure, mais
simplement un numérique.

J'ai tenté de le changer en date/heure mais je dois alors introduire
DD/MM/YYYY, et il me faut juste les années.

Le format numérique de départ n'est pas bon ? J'ai mis sur ce champ une
clé
primaire pour éviter les doublons.

J'ai remplacé le X de ton code par le nom du champ "valeur de départ"
(vdd).
La fonction Dlookup cherche-t-il l'entrée du dernier enregistrement ?

Dois-je aussi ajouter des informations dans les propriétés du champ "vdd"
de
mon formulaire ?

Sorry pour toutes ces questions de novice... J'aurais souhaité prendre le
tps nécessaire à l'apprentissage d'Access mais je dois créer ce formulaire
dans l'urgence :(

Cordialement, Thommen