Voici mon probl=E9me :
J'ai un formulaire Ordinateurs et dans ce formulaire j'ai=20
une zone de liste "Relier" et je voudrai que cette zone de=20
liste correspond =E0 l'ordinateur en question.
Cela marche pour un ordinateur, mais quand je fait=20
l'ordinateur suivant la zone de liste n'a pas chang=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
bonjour.
les zones de liste sont faites pour sélectionner une valeur et afficher l'enregistrement correspondant à cette valeur. dans ce cas, la zone de liste affiche toujours la valeur correspondante. Lorsque tu circules dans les enregistrements par les boutons de déplacement, cette liste, qui est indépendante n'est pas mise à jour et indique toujours la dernière valeur sélectionnée. Ce qui ne gêne en rien les données car la fonction de cette liste n'est pas de saisir des données. Si toutesfois tu veux que la liste affiche la valeur correspondante à l'enregistrement affiché, tu charges la valeur dans l'événement Form_Current: Me.maliste = Me.Numéro ce qui n'apporte rien à ton application.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"bb" a écrit dans le message de news:1c8e101c452b2$12791d00$ Bonjour à tous,
Voici mon probléme : J'ai un formulaire Ordinateurs et dans ce formulaire j'ai une zone de liste "Relier" et je voudrai que cette zone de liste correspond à l'ordinateur en question. Cela marche pour un ordinateur, mais quand je fait l'ordinateur suivant la zone de liste n'a pas changé.
Merci d'avance.
BB
bonjour.
les zones de liste sont faites pour sélectionner une valeur et afficher
l'enregistrement correspondant à cette valeur. dans ce cas, la zone de liste
affiche toujours la valeur correspondante. Lorsque tu circules dans les
enregistrements par les boutons de déplacement, cette liste, qui est
indépendante n'est pas mise à jour et indique toujours la dernière valeur
sélectionnée. Ce qui ne gêne en rien les données car la fonction de cette
liste n'est pas de saisir des données. Si toutesfois tu veux que la liste
affiche la valeur correspondante à l'enregistrement affiché, tu charges la
valeur dans l'événement Form_Current:
Me.maliste = Me.Numéro
ce qui n'apporte rien à ton application.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"bb" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1c8e101c452b2$12791d00$a401280a@phx.gbl...
Bonjour à tous,
Voici mon probléme :
J'ai un formulaire Ordinateurs et dans ce formulaire j'ai
une zone de liste "Relier" et je voudrai que cette zone de
liste correspond à l'ordinateur en question.
Cela marche pour un ordinateur, mais quand je fait
l'ordinateur suivant la zone de liste n'a pas changé.
les zones de liste sont faites pour sélectionner une valeur et afficher l'enregistrement correspondant à cette valeur. dans ce cas, la zone de liste affiche toujours la valeur correspondante. Lorsque tu circules dans les enregistrements par les boutons de déplacement, cette liste, qui est indépendante n'est pas mise à jour et indique toujours la dernière valeur sélectionnée. Ce qui ne gêne en rien les données car la fonction de cette liste n'est pas de saisir des données. Si toutesfois tu veux que la liste affiche la valeur correspondante à l'enregistrement affiché, tu charges la valeur dans l'événement Form_Current: Me.maliste = Me.Numéro ce qui n'apporte rien à ton application.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"bb" a écrit dans le message de news:1c8e101c452b2$12791d00$ Bonjour à tous,
Voici mon probléme : J'ai un formulaire Ordinateurs et dans ce formulaire j'ai une zone de liste "Relier" et je voudrai que cette zone de liste correspond à l'ordinateur en question. Cela marche pour un ordinateur, mais quand je fait l'ordinateur suivant la zone de liste n'a pas changé.
Merci d'avance.
BB
vdavid
La liste peut être un sous-formulaire, dans ce cas , pas de problème : automatique avec champ fils champ père. Si c'est un combo ou un listBox voici
Indiquer dans le ControlSource une formule tenant compte de la valeur de la clé de ordinateur : Soit Relier le nom de la table et de la liste, et ID_Ordi, le nom du champ clé ordinateur :
SELECT * FROM relier WHERE ID_Ordi=formulaires.ordis.id_Ordi;
Puis il faut forcer la mise à jour lors d'un changement d'enregistrement ou après la mise à jour de la clé:
Private Sub Form_Current() Relier.Requery End Sub
Private Sub ID_Ordi_AfterUpdate() Relier.Requery End Sub
On peut aussi positionner Relier.ControlSource en recalculant la requête SQL selon la valeur courante de la clé si on ne veut pas utiliser formulaires.ordis (que je ne trouve pas très propre...)
VD
"bb" a écrit dans le message de news:1c8e101c452b2$12791d00$ Bonjour à tous,
Voici mon probléme : J'ai un formulaire Ordinateurs et dans ce formulaire j'ai une zone de liste "Relier" et je voudrai que cette zone de liste correspond à l'ordinateur en question. Cela marche pour un ordinateur, mais quand je fait l'ordinateur suivant la zone de liste n'a pas changé.
Merci d'avance.
BB
La liste peut être un sous-formulaire, dans ce cas , pas de problème :
automatique avec champ fils champ père.
Si c'est un combo ou un listBox voici
Indiquer dans le ControlSource une formule tenant compte de la valeur de la
clé de ordinateur : Soit Relier le nom de la table et de la liste, et
ID_Ordi, le nom du champ clé ordinateur :
SELECT * FROM relier WHERE ID_Ordi=formulaires.ordis.id_Ordi;
Puis il faut forcer la mise à jour lors d'un changement d'enregistrement ou
après la mise à jour de la clé:
Private Sub Form_Current()
Relier.Requery
End Sub
Private Sub ID_Ordi_AfterUpdate()
Relier.Requery
End Sub
On peut aussi positionner Relier.ControlSource en recalculant la requête SQL
selon la valeur courante de la clé si on ne veut pas utiliser
formulaires.ordis (que je ne trouve pas très propre...)
VD
"bb" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1c8e101c452b2$12791d00$a401280a@phx.gbl...
Bonjour à tous,
Voici mon probléme :
J'ai un formulaire Ordinateurs et dans ce formulaire j'ai
une zone de liste "Relier" et je voudrai que cette zone de
liste correspond à l'ordinateur en question.
Cela marche pour un ordinateur, mais quand je fait
l'ordinateur suivant la zone de liste n'a pas changé.
La liste peut être un sous-formulaire, dans ce cas , pas de problème : automatique avec champ fils champ père. Si c'est un combo ou un listBox voici
Indiquer dans le ControlSource une formule tenant compte de la valeur de la clé de ordinateur : Soit Relier le nom de la table et de la liste, et ID_Ordi, le nom du champ clé ordinateur :
SELECT * FROM relier WHERE ID_Ordi=formulaires.ordis.id_Ordi;
Puis il faut forcer la mise à jour lors d'un changement d'enregistrement ou après la mise à jour de la clé:
Private Sub Form_Current() Relier.Requery End Sub
Private Sub ID_Ordi_AfterUpdate() Relier.Requery End Sub
On peut aussi positionner Relier.ControlSource en recalculant la requête SQL selon la valeur courante de la clé si on ne veut pas utiliser formulaires.ordis (que je ne trouve pas très propre...)
VD
"bb" a écrit dans le message de news:1c8e101c452b2$12791d00$ Bonjour à tous,
Voici mon probléme : J'ai un formulaire Ordinateurs et dans ce formulaire j'ai une zone de liste "Relier" et je voudrai que cette zone de liste correspond à l'ordinateur en question. Cela marche pour un ordinateur, mais quand je fait l'ordinateur suivant la zone de liste n'a pas changé.