J'ai deux nouveaux casse-tete concernant les listes. Soit un
formulaire dans lequel j'ai une zone de liste (non déroulante), une
autre zone de liste (déroulante) et un champ texte pour mettre des
commentaires. Dans la 1ere zone de liste (non deroulante)appelée
Titre, l'utilisateur introduit un nouvel item à l'aide d'une requete
ajout (ex:Le seigneur des anneaux) . Puis il sélectionne les
caractéristiques de l'Item dans la liste déroulante Catégorie (ex:
film, livre, dvd, etc). Enfin, il remplit le champ Commentaires.
Enfin, il clique sur un bouton qui enregistre le contenu de Catégorie
et du champ Commentaires à l'aide d'une requete Mise à jour. Jusque
là, ça marche.
1er probleme: Quand je clique pour sélectionner et ajouter un nouveau
nouvelle item dans Titre, j'aimerai que les 2 autres controles
Categorie et Commentaires se positionne sur le nouvelle enregistrement
crée et deviennent donc vide (meme principe qu'un nouvel
enregistrement dans lequel tous les champs se vident). Quelqu'un
connait-il le code VBA ou la fonction pour faire ça ?
2e probleme: quand quelqu'un sélectionne un item deja rentré dans
Titre, je voudrais que les 2 champs se positionnent également sur
l'enregistrement sélectionné et affiche les bonnes données, soit la
bonne Catégorie et le commantaire relatif au titre sélectionné...
Pour "positionner" tes zones de saisie sur l'enregistrement sélectionné dans ta liste non déroulante, tu as 2 possibilités:
1) Ajouter ces infos dans ta liste non déroulantes, en masquant les colonnes. Lorsque l'utilisateur clique sur un Item de la liste, il te suffit de récupérer le contenu des colonnes Catégorie et Commentaire. Me.TaListeDeroulante.Value = Me.TaListeNonModifiable.Column(NuméroColonneCategorie)
2) Passer par un recordset pour récupérer les infos cherchées. Dim db As DAO.Database Dim Frd As DAO.Recordset
Set db = CurrentDb
Set Frd = db.OpenRecordset("SELECT Categorie, Commentaire FROM TaTable WHERE Titre = " & Me.TaListeNonModifiable, dbOpenSnapshot)
Pour "positionner" tes zones de saisie sur
l'enregistrement sélectionné dans ta liste non déroulante,
tu as 2 possibilités:
1) Ajouter ces infos dans ta liste non déroulantes, en
masquant les colonnes. Lorsque l'utilisateur clique sur un
Item de la liste, il te suffit de récupérer le contenu des
colonnes Catégorie et Commentaire.
Me.TaListeDeroulante.Value =
Me.TaListeNonModifiable.Column(NuméroColonneCategorie)
2) Passer par un recordset pour récupérer les infos
cherchées.
Dim db As DAO.Database
Dim Frd As DAO.Recordset
Set db = CurrentDb
Set Frd = db.OpenRecordset("SELECT Categorie,
Commentaire FROM TaTable WHERE Titre = " &
Me.TaListeNonModifiable, dbOpenSnapshot)
Pour "positionner" tes zones de saisie sur l'enregistrement sélectionné dans ta liste non déroulante, tu as 2 possibilités:
1) Ajouter ces infos dans ta liste non déroulantes, en masquant les colonnes. Lorsque l'utilisateur clique sur un Item de la liste, il te suffit de récupérer le contenu des colonnes Catégorie et Commentaire. Me.TaListeDeroulante.Value = Me.TaListeNonModifiable.Column(NuméroColonneCategorie)
2) Passer par un recordset pour récupérer les infos cherchées. Dim db As DAO.Database Dim Frd As DAO.Recordset
Set db = CurrentDb
Set Frd = db.OpenRecordset("SELECT Categorie, Commentaire FROM TaTable WHERE Titre = " & Me.TaListeNonModifiable, dbOpenSnapshot)
Frd.Close Set Frd = Nothing db.Close Set db = Nothing
OK?
Cordialement.
Raymond [mvp]
Bonjour La p'tite Deb, faudra changer tu ne l'es plus !
ça me semble un peu fouillis ton formulaire. il semble qu'il ne soit pas basé sur une requête ou une table. tu n'as pas besoin de faire tout ça. tu crées un formulaire basé sur ta table avec l'assistant et tu auras toutes les fonctions d'ajout, modif, suppression etc.....
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut !
J'ai deux nouveaux casse-tete concernant les listes. Soit un formulaire dans lequel j'ai une zone de liste (non déroulante), une autre zone de liste (déroulante) et un champ texte pour mettre des commentaires. Dans la 1ere zone de liste (non deroulante)appelée Titre, l'utilisateur introduit un nouvel item à l'aide d'une requete ajout (ex:Le seigneur des anneaux) . Puis il sélectionne les caractéristiques de l'Item dans la liste déroulante Catégorie (ex: film, livre, dvd, etc). Enfin, il remplit le champ Commentaires. Enfin, il clique sur un bouton qui enregistre le contenu de Catégorie et du champ Commentaires à l'aide d'une requete Mise à jour. Jusque là, ça marche.
1er probleme: Quand je clique pour sélectionner et ajouter un nouveau nouvelle item dans Titre, j'aimerai que les 2 autres controles Categorie et Commentaires se positionne sur le nouvelle enregistrement crée et deviennent donc vide (meme principe qu'un nouvel enregistrement dans lequel tous les champs se vident). Quelqu'un connait-il le code VBA ou la fonction pour faire ça ?
2e probleme: quand quelqu'un sélectionne un item deja rentré dans Titre, je voudrais que les 2 champs se positionnent également sur l'enregistrement sélectionné et affiche les bonnes données, soit la bonne Catégorie et le commantaire relatif au titre sélectionné...
Une idée ? Merci beaoucoup. Deb
Bonjour La p'tite Deb, faudra changer tu ne l'es plus !
ça me semble un peu fouillis ton formulaire.
il semble qu'il ne soit pas basé sur une requête ou une table. tu n'as pas
besoin de faire tout ça. tu crées un formulaire basé sur ta table avec
l'assistant et tu auras toutes les fonctions d'ajout, modif, suppression
etc.....
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"La p'tite Deb" <debdrai@hotmail.com> a écrit dans le message de
news:d2187a0e.0312011458.2c6ae2e2@posting.google.com...
Salut !
J'ai deux nouveaux casse-tete concernant les listes. Soit un
formulaire dans lequel j'ai une zone de liste (non déroulante), une
autre zone de liste (déroulante) et un champ texte pour mettre des
commentaires. Dans la 1ere zone de liste (non deroulante)appelée
Titre, l'utilisateur introduit un nouvel item à l'aide d'une requete
ajout (ex:Le seigneur des anneaux) . Puis il sélectionne les
caractéristiques de l'Item dans la liste déroulante Catégorie (ex:
film, livre, dvd, etc). Enfin, il remplit le champ Commentaires.
Enfin, il clique sur un bouton qui enregistre le contenu de Catégorie
et du champ Commentaires à l'aide d'une requete Mise à jour. Jusque
là, ça marche.
1er probleme: Quand je clique pour sélectionner et ajouter un nouveau
nouvelle item dans Titre, j'aimerai que les 2 autres controles
Categorie et Commentaires se positionne sur le nouvelle enregistrement
crée et deviennent donc vide (meme principe qu'un nouvel
enregistrement dans lequel tous les champs se vident). Quelqu'un
connait-il le code VBA ou la fonction pour faire ça ?
2e probleme: quand quelqu'un sélectionne un item deja rentré dans
Titre, je voudrais que les 2 champs se positionnent également sur
l'enregistrement sélectionné et affiche les bonnes données, soit la
bonne Catégorie et le commantaire relatif au titre sélectionné...
Bonjour La p'tite Deb, faudra changer tu ne l'es plus !
ça me semble un peu fouillis ton formulaire. il semble qu'il ne soit pas basé sur une requête ou une table. tu n'as pas besoin de faire tout ça. tu crées un formulaire basé sur ta table avec l'assistant et tu auras toutes les fonctions d'ajout, modif, suppression etc.....
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut !
J'ai deux nouveaux casse-tete concernant les listes. Soit un formulaire dans lequel j'ai une zone de liste (non déroulante), une autre zone de liste (déroulante) et un champ texte pour mettre des commentaires. Dans la 1ere zone de liste (non deroulante)appelée Titre, l'utilisateur introduit un nouvel item à l'aide d'une requete ajout (ex:Le seigneur des anneaux) . Puis il sélectionne les caractéristiques de l'Item dans la liste déroulante Catégorie (ex: film, livre, dvd, etc). Enfin, il remplit le champ Commentaires. Enfin, il clique sur un bouton qui enregistre le contenu de Catégorie et du champ Commentaires à l'aide d'une requete Mise à jour. Jusque là, ça marche.
1er probleme: Quand je clique pour sélectionner et ajouter un nouveau nouvelle item dans Titre, j'aimerai que les 2 autres controles Categorie et Commentaires se positionne sur le nouvelle enregistrement crée et deviennent donc vide (meme principe qu'un nouvel enregistrement dans lequel tous les champs se vident). Quelqu'un connait-il le code VBA ou la fonction pour faire ça ?
2e probleme: quand quelqu'un sélectionne un item deja rentré dans Titre, je voudrais que les 2 champs se positionnent également sur l'enregistrement sélectionné et affiche les bonnes données, soit la bonne Catégorie et le commantaire relatif au titre sélectionné...
Une idée ? Merci beaoucoup. Deb
debdrai
Salut les génies,
Alors j'ai testé les conseils de Xavier; concernant la première suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça marche très bien ! En ce qui concerne maintenant mon probleme d'affichage en fonction de l'élément sélectionné dans ma liste non déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1 attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot) Me.TypeF = Frd.Fields("Type_Fichier").Value Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Vois-tu le bogue ?
Merci. Deb
Salut les génies,
Alors j'ai testé les conseils de Xavier; concernant la première
suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça
marche très bien ! En ce qui concerne maintenant mon probleme
d'affichage en fonction de l'élément sélectionné dans ma liste non
déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne
marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1
attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT
WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot)
Me.TypeF = Frd.Fields("Type_Fichier").Value
Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Alors j'ai testé les conseils de Xavier; concernant la première suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça marche très bien ! En ce qui concerne maintenant mon probleme d'affichage en fonction de l'élément sélectionné dans ma liste non déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1 attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot) Me.TypeF = Frd.Fields("Type_Fichier").Value Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Vois-tu le bogue ?
Merci. Deb
Raymond [mvp]
RE
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot)
Vu l'heure je ne vois pas de bog mais demain matin peut-être. essaie sans le snapshot, mais ce n'est pas ça.
es-tu sûre de l'orthographe de tous les mots ? d'après l'erreur il manque un paramètre à la requête, ce qui veut dire qu'un nom de champ est mal frappé et que la requête ne trouvant pas le nom réclame un paramètre. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut les génies,
Alors j'ai testé les conseils de Xavier; concernant la première suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça marche très bien ! En ce qui concerne maintenant mon probleme d'affichage en fonction de l'élément sélectionné dans ma liste non déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1 attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot) Me.TypeF = Frd.Fields("Type_Fichier").Value Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Vois-tu le bogue ?
Merci. Deb
RE
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT
WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot)
Vu l'heure je ne vois pas de bog mais demain matin peut-être.
essaie sans le snapshot, mais ce n'est pas ça.
es-tu sûre de l'orthographe de tous les mots ? d'après l'erreur il manque un
paramètre à la requête, ce qui veut dire qu'un nom de champ est mal frappé
et que la requête ne trouvant pas le nom réclame un paramètre.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"La p'tite Deb" <debdrai@hotmail.com> a écrit dans le message de
news:d2187a0e.0312021357.1ce6680@posting.google.com...
Salut les génies,
Alors j'ai testé les conseils de Xavier; concernant la première
suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça
marche très bien ! En ce qui concerne maintenant mon probleme
d'affichage en fonction de l'élément sélectionné dans ma liste non
déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne
marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1
attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT
WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot)
Me.TypeF = Frd.Fields("Type_Fichier").Value
Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot)
Vu l'heure je ne vois pas de bog mais demain matin peut-être. essaie sans le snapshot, mais ce n'est pas ça.
es-tu sûre de l'orthographe de tous les mots ? d'après l'erreur il manque un paramètre à la requête, ce qui veut dire qu'un nom de champ est mal frappé et que la requête ne trouvant pas le nom réclame un paramètre. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut les génies,
Alors j'ai testé les conseils de Xavier; concernant la première suggestion (pour remettre à vide mes deux champs), c'est impec ! Ça marche très bien ! En ce qui concerne maintenant mon probleme d'affichage en fonction de l'élément sélectionné dans ma liste non déroulante, je prefere ta 2e solution plutot qu'une liste. Mais ça ne marche pas, Access m'affiche "Erreur 3061: Trop peu de parametres . 1 attendu".
Voila la requete telle qu'adaptée:
Set Frd = db.OpenRecordset("SELECT Type_Fichier, ComMNT FROM tblMNT WHERE Fichier = '" & Me.lstMNT.Value & "'", dbOpenSnapshot) Me.TypeF = Frd.Fields("Type_Fichier").Value Me.CommentairesMNT = Frd.Fields("ComMNT").Value
Vois-tu le bogue ?
Merci. Deb
debdrai
Salut Raymond,
Je ne suis pas sure de comprendre ton idée. Plutot que de mettre ma requete dans le bouton de commande de mon premier formulaire et d'essayer d'ouvrir un resultat, je peux en effet créer un nouveau formulaire basée sur la table sur laquelle s'effectue ma sélection. Et, si je t'ai bien comprise, mettre ma requete de selection dans le chargement du formulaire. Mais ça ne change rien au fait que je n'arrive pas a executer cette requete. Et puis j'ai besoin de passer l'argument choisi par l'utilisateur dans le premier formulaire. Si je crée ma requete avec le generateur et la met comme source de mon formulaire, en lui disant de m'afficher les enregistrements correspondants à frmLidar.Ma liste, ça me fait comme un OpenQuery: il ne tient pas compte du choix courant de l'utilisateur et me rouvre une fenetre qui demande de taper le nom choisi. Et si je base ce nouveau formulaire sur ma table d'enregistrements complete, et que je crée ma requete en VBA que je mets sur l'evenement chargement du formulaire, je n'arrive pas davantage a l'executer....
Peux-tu m'expliquer davantage ton idee ?
Deb
Salut Raymond,
Je ne suis pas sure de comprendre ton idée. Plutot que de mettre ma
requete dans le bouton de commande de mon premier formulaire et
d'essayer d'ouvrir un resultat, je peux en effet créer un nouveau
formulaire basée sur la table sur laquelle s'effectue ma sélection.
Et, si je t'ai bien comprise, mettre ma requete de selection dans le
chargement du formulaire. Mais ça ne change rien au fait que je
n'arrive pas a executer cette requete. Et puis j'ai besoin de passer
l'argument choisi par l'utilisateur dans le premier formulaire. Si je
crée ma requete avec le generateur et la met comme source de mon
formulaire, en lui disant de m'afficher les enregistrements
correspondants à frmLidar.Ma liste, ça me fait comme un OpenQuery: il
ne tient pas compte du choix courant de l'utilisateur et me rouvre une
fenetre qui demande de taper le nom choisi. Et si je base ce nouveau
formulaire sur ma table d'enregistrements complete, et que je crée ma
requete en VBA que je mets sur l'evenement chargement du formulaire,
je n'arrive pas davantage a l'executer....
Je ne suis pas sure de comprendre ton idée. Plutot que de mettre ma requete dans le bouton de commande de mon premier formulaire et d'essayer d'ouvrir un resultat, je peux en effet créer un nouveau formulaire basée sur la table sur laquelle s'effectue ma sélection. Et, si je t'ai bien comprise, mettre ma requete de selection dans le chargement du formulaire. Mais ça ne change rien au fait que je n'arrive pas a executer cette requete. Et puis j'ai besoin de passer l'argument choisi par l'utilisateur dans le premier formulaire. Si je crée ma requete avec le generateur et la met comme source de mon formulaire, en lui disant de m'afficher les enregistrements correspondants à frmLidar.Ma liste, ça me fait comme un OpenQuery: il ne tient pas compte du choix courant de l'utilisateur et me rouvre une fenetre qui demande de taper le nom choisi. Et si je base ce nouveau formulaire sur ma table d'enregistrements complete, et que je crée ma requete en VBA que je mets sur l'evenement chargement du formulaire, je n'arrive pas davantage a l'executer....
Peux-tu m'expliquer davantage ton idee ?
Deb
Raymond [mvp]
Bonsoir.
as-tu vérifié la requête comme je t'avais dit sur mon post précédent hier 23:27 ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut Raymond,
Bonsoir.
as-tu vérifié la requête comme je t'avais dit sur mon post précédent hier
23:27 ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"La p'tite Deb" <debdrai@hotmail.com> a écrit dans le message de
news:d2187a0e.0312031404.23ee936e@posting.google.com...
as-tu vérifié la requête comme je t'avais dit sur mon post précédent hier 23:27 ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"La p'tite Deb" a écrit dans le message de news:
Salut Raymond,
debdrai
Salut Raymond,
J'avais en effet vérifié l'orthographe de mes noms mais sans résultat. Par contre j'ai finalement réussi cette requete en utilisant la propriété Recordsource et en assignant à chaque champ le controle qui lui correspond. Quoi qu'il en soit, merci beaucoup de ton aide et SURTOUT de tout le temps que tu prends pour nous aider tous (j'ai vu ton nom dans beaucoup de messages...)
Deb
Salut Raymond,
J'avais en effet vérifié l'orthographe de mes noms mais sans résultat.
Par contre j'ai finalement réussi cette requete en utilisant la
propriété Recordsource et en assignant à chaque champ le controle qui
lui correspond. Quoi qu'il en soit, merci beaucoup de ton aide et
SURTOUT de tout le temps que tu prends pour nous aider tous (j'ai vu
ton nom dans beaucoup de messages...)
J'avais en effet vérifié l'orthographe de mes noms mais sans résultat. Par contre j'ai finalement réussi cette requete en utilisant la propriété Recordsource et en assignant à chaque champ le controle qui lui correspond. Quoi qu'il en soit, merci beaucoup de ton aide et SURTOUT de tout le temps que tu prends pour nous aider tous (j'ai vu ton nom dans beaucoup de messages...)