Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petit coup de pouce sur INSERT et les listes déroulantes SVP...

22 réponses
Avatar
fredonnon
Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement

10 réponses

1 2 3
Avatar
Gafish
Bonjour,

Si j'ai bien compris, ton formulaire affiche les films, et tu voudrais en
choisissant la catégorie et en cliquant que le film en cours prenne la
catégorie choisi ? C'est cela ?
Si oui, ce n'est pas un INSERT qui ajoute une ligne, mais un UPDATE, qui va
mettre à jour une ligne.
En ce cas, la requête ressemblera à cela :
"UPDATE [T_Film] SET [Catégorie]='" & TaListe.Value & "' WHERE [Numéro]=" &
TonControlNum &";"

Arnaud

"Fredonnon" a écrit dans le message news:

Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement


Avatar
fredonnon
Je remonte un peu mon message en espérant avoir une âme charitable pour me guider!


(Fredonnon) wrote in message news:...
Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement


Avatar
Raymond [mvp]
Bonjour.

pourquoi veux-tu faire une requête pour changer cette valeur ? tes deux
tables sont en relation par les champs catégorie, il suffit que ton champ
catégorie de T_film soit une liste modifiable basée sur la table T_categorie
et ton champ sera à jour automatiquement.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Je remonte un peu mon message en espérant avoir une âme charitable pour me
guider!



(Fredonnon) wrote in message
news:...

Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement




Avatar
fredonnon
Merci d'avoir répondu à mon message Gafish.

J'ai l'impression que je dois procéder malgré tout autrement.

Le bouton Modifier de mon formulaire doit modifier l'ensemble des
infos de mon enregistrement actuel et pas seulement l'information liée
à la liste déroulante ChoixCatégorie qui doit injecter la valeur de
catégorie du champ ChoixCatégorie sur l'enregistrement du film dans le
champ Catégorie de la table T_Film.

Donc je dois passer par du code qui met à jour chaque enregistrement
de T_Film à partir de chaque champ de mon formulaire chaque champ de
mon formulaire et non par une requête je pense.

C'est là que je suis bloqué car je manque un peu d'expérience dans le
domaine !

Toute aide bienvenue (c:


"Gafish" wrote in message news:<#...
Bonjour,

Si j'ai bien compris, ton formulaire affiche les films, et tu voudrais en
choisissant la catégorie et en cliquant que le film en cours prenne la
catégorie choisi ? C'est cela ?
Si oui, ce n'est pas un INSERT qui ajoute une ligne, mais un UPDATE, qui va
mettre à jour une ligne.
En ce cas, la requête ressemblera à cela :
"UPDATE [T_Film] SET [Catégorie]='" & TaListe.Value & "' WHERE [Numéro]=" &
TonControlNum &";"

Arnaud

"Fredonnon" a écrit dans le message news:

Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement




Avatar
fredonnon
Merci d'avoir répondu à mon message Raymond.

En fait je ne veux pas faire une requête pour changer la valeur ; j'ai
simplement indiqué quelle était la source de ma liste déroulante
ChoixCatégorie de mon formulaire F_GestionFilm.

Je ne sais pas trop comment procéder pour, en appuyant sur le bouton
Modifier de mon formulaire, insérer dans l'enregistrement
correspondant au bon film l'enselmbe des informations contenues dans
le formulaire (soit des zones de texte à remplir, soit des listes
déroulantes...

Par exemple si j'ai un champ Durée zone de texte et un champ
ChoixCatégorie zone de liste déroulante (pointant sur T_Catégorie)
pour le choix, les deux champs étant dans F_GestionFilm, comment dois
je faire pour intégrer ces deux informations dans les champs Durée et
Catégorie de la table T_Film pour l'enregistrement en cours
(l'enregistrement en cours est choisi à partir d'une liste déroulante
ChoixFilm du formulaire qui pointe sur le champ Titre de F_Film )?

Je pense que si on m'indique comment faire pour 2 champs, j'arriverai
à m'en sortir pour les autres champ.

Merci de votre aide !


"Raymond [mvp]" wrote in message news:<eh9sa$...
Bonjour.

pourquoi veux-tu faire une requête pour changer cette valeur ? tes deux
tables sont en relation par les champs catégorie, il suffit que ton champ
catégorie de T_film soit une liste modifiable basée sur la table T_categorie
et ton champ sera à jour automatiquement.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Je remonte un peu mon message en espérant avoir une âme charitable pour me
guider!



(Fredonnon) wrote in message
news:...

Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement






Avatar
Gafish
Ok, en fait ton formulaire fait l'ajout complet d'un nouveau film, c'est
bien cela ?
En ce cas effectivement c'est un Insert, que tu peux faire sois par code,
soit par une requête créée sous Access.
Dans ce dernier cas, que tu préfères apparemment, il te suffit de faire un
requête de type "Ajout" où tu ajouteras dans ta table films les différents
champs ou liste de ton formulaire.
Pour cela, dans le mode création de la requête, tu fais un clic droit sur
champ et tu fais "Générer". Tu pourras ainsi accèder à la liste de tes
formulaires, et une fois choisi ton formulaire d'ajout de films, aux
différents champs présents. Tu choisis alors les champs de ton form à mettre
dans les champs de ta table.

Arnaud

"Fredonnon" a écrit dans le message news:

Merci d'avoir répondu à mon message Gafish.

J'ai l'impression que je dois procéder malgré tout autrement.

Le bouton Modifier de mon formulaire doit modifier l'ensemble des
infos de mon enregistrement actuel et pas seulement l'information liée
à la liste déroulante ChoixCatégorie qui doit injecter la valeur de
catégorie du champ ChoixCatégorie sur l'enregistrement du film dans le
champ Catégorie de la table T_Film.

Donc je dois passer par du code qui met à jour chaque enregistrement
de T_Film à partir de chaque champ de mon formulaire chaque champ de
mon formulaire et non par une requête je pense.

C'est là que je suis bloqué car je manque un peu d'expérience dans le
domaine !

Toute aide bienvenue (c:


"Gafish" wrote in message
news:<#...

Bonjour,

Si j'ai bien compris, ton formulaire affiche les films, et tu voudrais
en


choisissant la catégorie et en cliquant que le film en cours prenne la
catégorie choisi ? C'est cela ?
Si oui, ce n'est pas un INSERT qui ajoute une ligne, mais un UPDATE, qui
va


mettre à jour une ligne.
En ce cas, la requête ressemblera à cela :
"UPDATE [T_Film] SET [Catégorie]='" & TaListe.Value & "' WHERE
[Numéro]=" &


TonControlNum &";"

Arnaud

"Fredonnon" a écrit dans le message news:

Bonjour,

Je souhaiterai avoir une petite aide pour actualiser un champ d'une
table avec une liste déroulante dans un formulaire

J'ai 2 tables :

T_Catégorie T_Film
+--------------+ +-----------+
! Catégorie !------- ! Numéro !
+--------------+ !--! Catégorie !
! Titre !
+-----------+

avec une clé primaire sur Catégorie dans la 1ère et une autre sur
Numéro dans la seconde.

Dans mon Formulaire F_GestionFilm, j'ai une liste modifiable nommée
ChoixCatégorie pour choisir une catégorie dont le contenu est :

SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Je n'arrive pas à trouver comment utiliser la commande INSERT pour, en
cliquant sur un bouton B_ModifierFilm, insérer la catégorie dans
l'enregistrement correspondant de la table T_Film.

J'espère avoir été assez clair.

Merci de vos réponses

Cordialement






Avatar
Raymond [mvp]
Bonjour.

ton formulaire F_GestionFilm a bien pour recordsource la table T_Film ?
si oui, la liste déroulante ChoixFilm affiche bien l'enregistrement
correspondant qui devient l'enregistrement en cours ?
donc les deux champs Durée et T_Catégorie sont affichés sur le formulaire ?
ou alors je n'ai pas compris.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Merci d'avoir répondu à mon message Raymond.

En fait je ne veux pas faire une requête pour changer la valeur ; j'ai
simplement indiqué quelle était la source de ma liste déroulante
ChoixCatégorie de mon formulaire F_GestionFilm.

Je ne sais pas trop comment procéder pour, en appuyant sur le bouton
Modifier de mon formulaire, insérer dans l'enregistrement
correspondant au bon film l'enselmbe des informations contenues dans
le formulaire (soit des zones de texte à remplir, soit des listes
déroulantes...

Par exemple si j'ai un champ Durée zone de texte et un champ
ChoixCatégorie zone de liste déroulante (pointant sur T_Catégorie)
pour le choix, les deux champs étant dans F_GestionFilm, comment dois
je faire pour intégrer ces deux informations dans les champs Durée et
Catégorie de la table T_Film pour l'enregistrement en cours
(l'enregistrement en cours est choisi à partir d'une liste déroulante
ChoixFilm du formulaire qui pointe sur le champ Titre de F_Film )?

Je pense que si on m'indique comment faire pour 2 champs, j'arriverai
à m'en sortir pour les autres champ.

Merci de votre aide !


Avatar
fredonnon
Pas tout à fait. Lorsque j'ouvre mon formulaire F_GestionFilm via un
menu en mode modification, le bouton Modifier apparait.

Je peux choisir le film à modifier via une liste déroulante ChoixTitre
qui pointera sur le film choisi par la liste déroulante
([T_Film]![Titre]). Par contre la liste déroulante ChoixCatégorie
n'est pas faite pour choisir un film (vu que plusieurs films
appartiennent à la même catégorie). Elle a comme source
[T_Catégorie]![Catégorie]
Le but en appuyant sur le bouton modifier est d'enregistrer les
modifications effectuées sur le film en cours. Ces modifs doivent
prendre en compte le remplissage éventuel des autres champs (Durée par
exemple mais aussi d'autres comme un champ Acteur1 etc...)
Pas de problème lorsque je remplis un champ zone de texte ; les modifs
sont prises en compte.
Par contre, lorsque je sélectionne une catégorie dans ChoixCatégorie
et je clique sur modifier, ce n'est pas pris en compte...
Je ne connais pas la syntaxe pour insérer l'info de
[F_GestionFilm].ChoixCatégorie dans [T_Film]![Catégorie]

Voici l'événement lié au bouton pour info :

Private Sub B_ModifierFilm_Click()
On Error GoTo Err_B_ModifierFilm_Click

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
MsgBox "Modification sur le film " & Me!Titre & " effectuée",
vbExclamation
Exit Sub

Exit_B_ModifierFilm_Click:
Exit Sub

Err_B_ModifierFilm_Click:
MsgBox Err.Description
Resume Exit_B_ModifierFilm_Click

End Sub


Voili voilou, en espérant avoir été plus clair...

"Raymond [mvp]" wrote in message news:...
Bonjour.

ton formulaire F_GestionFilm a bien pour recordsource la table T_Film ?
si oui, la liste déroulante ChoixFilm affiche bien l'enregistrement
correspondant qui devient l'enregistrement en cours ?
donc les deux champs Durée et T_Catégorie sont affichés sur le formulaire ?
ou alors je n'ai pas compris.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Merci d'avoir répondu à mon message Raymond.

En fait je ne veux pas faire une requête pour changer la valeur ; j'ai
simplement indiqué quelle était la source de ma liste déroulante
ChoixCatégorie de mon formulaire F_GestionFilm.

Je ne sais pas trop comment procéder pour, en appuyant sur le bouton
Modifier de mon formulaire, insérer dans l'enregistrement
correspondant au bon film l'enselmbe des informations contenues dans
le formulaire (soit des zones de texte à remplir, soit des listes
déroulantes...

Par exemple si j'ai un champ Durée zone de texte et un champ
ChoixCatégorie zone de liste déroulante (pointant sur T_Catégorie)
pour le choix, les deux champs étant dans F_GestionFilm, comment dois
je faire pour intégrer ces deux informations dans les champs Durée et
Catégorie de la table T_Film pour l'enregistrement en cours
(l'enregistrement en cours est choisi à partir d'une liste déroulante
ChoixFilm du formulaire qui pointe sur le champ Titre de F_Film )?

Je pense que si on m'indique comment faire pour 2 champs, j'arriverai
à m'en sortir pour les autres champ.

Merci de votre aide !




Avatar
Raymond [mvp]
Il y a un truce que je ne comprend pas:

ta liste modifiable ChoixCatégorie devrait avoir en source contrôle le nom
de ton champ de la table [T_Film]![Catégorie] et non de la table
[T_Catégorie]![Catégorie], et en contenu (rowsource) une requête sur la
table T_Catégorie et ça devrait marcher.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Pas tout à fait. Lorsque j'ouvre mon formulaire F_GestionFilm via un
menu en mode modification, le bouton Modifier apparait.


Avatar
fredonnon
J'ai procédé autrement mais je ne sais pas si je devrais faire ainsi :

Le formulaire peut s'ouvrir sur 3 modes : consultation, ajout ou modif
càd respectivement acFormPropertySettings,acFormAdd,acFormEdit.

En fonction du mode d'ouverture du formulaire, j'ai (ou non) des
champs ou boutons qui s'affichent.
Pour ce qui concerne le choix de catégorie j'ai

Soit
. une zone de texte Catégorie (pointant sur [T_Film].[Catégorie]
visible (mode consultation de la base des films)
soit
. une zone liste déroulante ChoixCatégorie (pointant sur
[T_Catégorie].[Catégorie] visible (mode ajout ou modif des films, donc
des enregistrements). Je pointe sur T_Catégorie dans ce cas là car je
dois choisir une catégorie pour le film parmi celles disponibles. J'ai
tort ?)

Donc dans mon problème, j'ai
Catégorie.Visible = False
ChoixCatégorie.Visible = True
B_ModifierFilm.Visible = True

c'est à dire une liste déroulante ChoixCatégorie ayant pour contenu :
SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie LEFT JOIN T_Film ON
[T_Catégorie].[Catégorie]=[T_Film].[Catégorie] ORDER BY
[T_Catégorie].[Catégorie];

Je voudrais savoir quoi mettre dans la procédure
B_ModifierFilm_Click() pour intégrer le choix fait dans ChoixCatégorie
dans l'enregistrement en cours...

Pour le moment j'ai ça :

Private Sub B_ModifierFilm_Click()
On Error GoTo Err_B_ModifierFilm_Click

'Dim rs As Recordset
'Set rs = Me.Recordset
'With rs
' [T_Film].Fields("Catégorie").Value = Me!ChoixCatégorie.Value
' [T_Film].Update
'End With

Me.Dirty = False
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
MsgBox "Modification sur le film " & Me!Titre & " effectuée",
vbExclamation
Exit Sub

Exit_B_ModifierFilm_Click:
Exit Sub

Err_B_ModifierFilm_Click:
MsgBox Err.Description
Resume Exit_B_ModifierFilm_Click

End Sub

Pour le moment j'ai mis entre côtes ce que je pense être un début de
règlement du pb mais je bute :oP C'est un peu nouveau pour moi tout
ça...


"Raymond [mvp]" wrote in message news:...
Il y a un truce que je ne comprend pas:

ta liste modifiable ChoixCatégorie devrait avoir en source contrôle le nom
de ton champ de la table [T_Film]![Catégorie] et non de la table
[T_Catégorie]![Catégorie], et en contenu (rowsource) une requête sur la
table T_Catégorie et ça devrait marcher.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fredonnon" a écrit dans le message de
news:
Pas tout à fait. Lorsque j'ouvre mon formulaire F_GestionFilm via un
menu en mode modification, le bouton Modifier apparait.




1 2 3