OVH Cloud OVH Cloud

Formulaire et requete

8 réponses
Avatar
news
Bonjour,
Je cherche suite à une sélection sur un enregistrement à afficher le contenu
dans un msgbox "et non dans un formulaire" les informations issues d'une
requete

Dans mon formulaire de départ je fais un double-clic pour zoomer et faire un
résumé des informations
de l'enregistrement en cours

certaines de ces informations sont présentes dans une autre table et peuvent
avoir plusieurs valeurs
exemple :
dans mon formulaire
me.cleMonImprimante retourne le N° 3

La table indiquant les composants de l'imprimante
s'appelle mescomposants
champLienImprimante
ChampDescriptionComposant

je souhaite "lister les enregistrements" de latablemescomposants avec la
valeur 3
dans un msgbox

je me souviens que l'on peut balayer une table en mémoire et ainsi afficher
ou non ce qui s'y trouve présent

mais plus moyen de retrouver un exemple de ce type de code

quelqu'un yauraitil une t'ite idée ?


dans mon
à effectuer un msgbox qui affiche des informations complémentaires issues
d'une autre table
exemple
tableDepart

8 réponses

Avatar
Eric
Bonjour,

Suis parti du fait que tu peux avoir plusieurs enregistrements dans la
table mescomposants pour le me.cleMonImprimante=3. Si ce n'est pas le
cas, alors voir du coté de DLookUp()

dim rst as DAO.Recordset, strSQL a String, msg as string
strSQL = "Select champLienImprimante,ChampDescriptionComposant from
mescomposants Where cleMonImprimante =" & me.cleMonImprimante
' si me.cleMonImprimante est alpha, entourer de '
' Where cleMonImprimante ='" & me.cleMonImprimante & "'"
set rst = currentdb.OpenRecordset(strSQL)
if rst.BOF then
Exit Sub
Else
rst.MoveFirst
End If
While Not rst.EOF
msg = msg & rst(0) & " - " & rst(1) & vbCrLf
rst.MoveNext
wend
set rst= Nothing
MsgBox msg

à mettre sur l'évènement double-click peut-être


--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour,
Je cherche suite à une sélection sur un enregistrement à afficher le contenu
dans un msgbox "et non dans un formulaire" les informations issues d'une
requete

Dans mon formulaire de départ je fais un double-clic pour zoomer et faire un
résumé des informations
de l'enregistrement en cours

certaines de ces informations sont présentes dans une autre table et peuvent
avoir plusieurs valeurs
exemple :
dans mon formulaire
me.cleMonImprimante retourne le N° 3

La table indiquant les composants de l'imprimante
s'appelle mescomposants
champLienImprimante
ChampDescriptionComposant

je souhaite "lister les enregistrements" de latablemescomposants avec la
valeur 3
dans un msgbox

je me souviens que l'on peut balayer une table en mémoire et ainsi afficher
ou non ce qui s'y trouve présent

mais plus moyen de retrouver un exemple de ce type de code

quelqu'un yauraitil une t'ite idée ?


dans mon
à effectuer un msgbox qui affiche des informations complémentaires issues
d'une autre table
exemple
tableDepart




Avatar
Eric
Arg,
oubli de Set rst = Nothing avant le Exit Sub
--
A+
Eric


Bonjour,

Suis parti du fait que tu peux avoir plusieurs enregistrements dans la
table mescomposants pour le me.cleMonImprimante=3. Si ce n'est pas le
cas, alors voir du coté de DLookUp()

dim rst as DAO.Recordset, strSQL a String, msg as string
strSQL = "Select champLienImprimante,ChampDescriptionComposant from
mescomposants Where cleMonImprimante =" & me.cleMonImprimante
' si me.cleMonImprimante est alpha, entourer de '
' Where cleMonImprimante ='" & me.cleMonImprimante & "'"
set rst = currentdb.OpenRecordset(strSQL)
if rst.BOF then
Exit Sub
Else
rst.MoveFirst
End If
While Not rst.EOF
msg = msg & rst(0) & " - " & rst(1) & vbCrLf
rst.MoveNext
wend
set rst= Nothing
MsgBox msg

à mettre sur l'évènement double-click peut-être


Avatar
news
Merci encore

concernant le Set rst = Nothing

comment peux t'on connaitre l'état mémoire des choses restant en résidant
du type que tu viens d'énumérer
trainant en mémoire (variable qui ne devrait plus tourner fonction erronée
etc ...)
et comment les killer
je pense que cela interressera beaucoup d'entre nous (pour les petits
bidouilleurs comme moi)
car cela arrive parfois dans notre code que l'on oublie ce genre de détail
qui peuvent être très gênante
(je pense surtout au call des fonctions)
Avatar
Eric
re,

Je n'ai pas de solution.

Mais, d'une manière générale, tout ce qui a fait l'objet
d'un Set xx=...
doit faire l'objet d'un Set xx= Nothing à la fin de son utilisation.

De même, si tu manipules des tableaux dynamiques déclarés par
Dim Tableau(), suivi ultérieurement d'un Redim Tableau(X,Y) doit faire
l'objet en fin de traitement d'un Erase Tableau afin de récuperer la
mémoire allouée.

En mettant en oeuvre ceci, tu minimise la ram occupée et evites que
certains process continuent de tourner dans le gestionnaire des taches.
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Merci encore

concernant le Set rst = Nothing

comment peux t'on connaitre l'état mémoire des choses restant en résidant
du type que tu viens d'énumérer
trainant en mémoire (variable qui ne devrait plus tourner fonction erronée
etc ...)
et comment les killer
je pense que cela interressera beaucoup d'entre nous (pour les petits
bidouilleurs comme moi)
car cela arrive parfois dans notre code que l'on oublie ce genre de détail
qui peuvent être très gênante
(je pense surtout au call des fonctions)







Avatar
Gafish
news wrote:
comment peux t'on connaitre l'état mémoire des choses restant en
résidant du type que tu viens d'énumérer
trainant en mémoire (variable qui ne devrait plus tourner fonction
erronée etc ...)
et comment les killer
je pense que cela interressera beaucoup d'entre nous (pour les petits
bidouilleurs comme moi)
car cela arrive parfois dans notre code que l'on oublie ce genre de
détail qui peuvent être très gênante
(je pense surtout au call des fonctions)


Je m'incruste :)
Je ne crois pas qu'il soit possible de répondre directement, à savoir
regarder les résidants mémoire à un instant t, en revanche, pour avoir moins
de chance d'oublier un set = nothing, tu as sur le site d'Hervé Inisan un
analyseur de code :
http://www.self-access.com/access/
dans la barre du haut, à droite, en bas de la liste, tu cliques sur
"assistants", et tu trouveras "analyseur de code"

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
bonjour,


Je m'incruste :)


Pas du tout, Arnnaud
Vaut mieux plusieurs avis plutot qu'un seul,
c'est tout l'intéret du NG.

de toute façon, je n'avais pas de solution.
l'idée que je voulais faire passer c'est de ne jamais oublier
de faire un Set xx=Nothing ou Erase Tableau.

Plus on y pense tôt, plus on le met en pratique, mieux c'est ;-)




[...] tu as sur le site d'Hervé Inisan un
analyseur de code :
http://www.self-access.com/access/
dans la barre du haut, à droite, en bas de la liste, tu cliques sur
"assistants", et tu trouveras "analyseur de code"


je connaissais pas
--
A+
Eric

Avatar
Gafish
Eric wrote:
l'idée que je voulais faire passer c'est de ne jamais oublier
de faire un Set xx=Nothing ou Erase Tableau.


Tout à fait, en général que je fais le set, j'écris tout de suite à la bonne
place le set nothing, au moins je suis sûr de pas l'oublier :) Parce
qu'après quand on part en s'enflammant dans les lignes de code, c'est pas
dit qu'on y songe au bon moment :o)

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
news
Oui, sans compter les petites choses bien amicale de notre ami billou
qui arrive encore et toujours à nous surprendre
en tout cas merci beaucoup à vous 2

"Gafish" a écrit dans le message de news:
%
Eric wrote:
l'idée que je voulais faire passer c'est de ne jamais oublier
de faire un Set xx=Nothing ou Erase Tableau.


Tout à fait, en général que je fais le set, j'écris tout de suite à la
bonne
place le set nothing, au moins je suis sûr de pas l'oublier :) Parce
qu'après quand on part en s'enflammant dans les lignes de code, c'est pas
dit qu'on y songe au bon moment :o)

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr