OVH Cloud OVH Cloud

Problème de requête SQL

4 réponses
Avatar
Chris
Bonjour,

J'ai créé un sous-formulaire du type ligne commande. Il est composé de
plusieurs menus déroulants qui font appels à différentes valeurs de
différentes tables. les valeurs affichées dans le 2eme menu dépend du choix
du 1er menu.

Voici ma requête :

SELECT Session.Réfsession, Session.DateDébut, Session.DateFin, Session.Salle
FROM [Session]
WHERE [Session]![lien produit]=[Formulaires]![Liste Lignes
commande]![tempsession];

Explication de mon raisonnement :

Le 1er menu est le choix du "produit". Après modification, je met le numéro
interne du produit dans un champ tampon : "tempsession". l'affichage de mon
2eme menu dépend du résultat de ma requête. Mais le "WHERE [Session]![lien
produit]=[Formulaires]![Liste Lignes commande]![tempsession];" ne fonctionne
pas. Mais si je manuellement manuellement "[Session]![lien produit]=2" cela
fonctionne. Les 3 champs (réf produit, tempsession, lien produit) sont tous
en numérique.

Je ne comprend donc pas pourquoi ma requête ne fonctionne pas en lui
désignant une valeur par un champ alors que si je met directement la valeur
cela fonctionne??

Merci d'avance pour votre aide

Chris

Un débutant

4 réponses

Avatar
3stone
Salut,

"Chris"
| J'ai créé un sous-formulaire du type ligne commande. Il est composé de
| plusieurs menus déroulants qui font appels à différentes valeurs de
| différentes tables. les valeurs affichées dans le 2eme menu dépend du
choix
| du 1er menu.
|
| Voici ma requête :
|
| SELECT Session.Réfsession, Session.DateDébut, Session.DateFin,
Session.Salle
| FROM [Session]
| WHERE [Session]![lien produit]=[Formulaires]![Liste Lignes
| commande]![tempsession];
|
| Explication de mon raisonnement :
|
| Le 1er menu est le choix du "produit". Après modification, je met le
numéro
| interne du produit dans un champ tampon : "tempsession". l'affichage de
mon
| 2eme menu dépend du résultat de ma requête. Mais le "WHERE [Session]![lien
| produit]=[Formulaires]![Liste Lignes commande]![tempsession];" ne
fonctionne
| pas. Mais si je manuellement manuellement "[Session]![lien produit]=2"
cela
| fonctionne. Les 3 champs (réf produit, tempsession, lien produit) sont
tous
| en numérique.
|
| Je ne comprend donc pas pourquoi ma requête ne fonctionne pas en lui
| désignant une valeur par un champ alors que si je met directement la
valeur
| cela fonctionne??


Pourquoi passer par une zone de texte tampon ?

Il me semble que tu as juste besoin de ceci (liste liées...)
http://www.self-access.com/access/grenier/acRedir.php?id

A+
Pierre(3stone)
Avatar
Chris
Je te remerci,

Cela fonctionne, mais pas encore complétement. En effet mon sous formulaire
est de type tableau et quand je choisie la valeur du deuxième menu (qui
affiche bien les valeurs correspondant au premier menu), tous mais
enregistrements de mon sous formulaire prennent cette valeur alors que je ne
veux changer qu'un seul enregistrement.

Merci encore et d'avance pour ton (et votre) aides

Chris


"3stone" a écrit dans le message de
news:uV$
Salut,

"Chris"
| J'ai créé un sous-formulaire du type ligne commande. Il est composé de
| plusieurs menus déroulants qui font appels à différentes valeurs de
| différentes tables. les valeurs affichées dans le 2eme menu dépend du
choix
| du 1er menu.
|
| Voici ma requête :
|
| SELECT Session.Réfsession, Session.DateDébut, Session.DateFin,
Session.Salle
| FROM [Session]
| WHERE [Session]![lien produit]=[Formulaires]![Liste Lignes
| commande]![tempsession];
|
| Explication de mon raisonnement :
|
| Le 1er menu est le choix du "produit". Après modification, je met le
numéro
| interne du produit dans un champ tampon : "tempsession". l'affichage de
mon
| 2eme menu dépend du résultat de ma requête. Mais le "WHERE
[Session]![lien

| produit]=[Formulaires]![Liste Lignes commande]![tempsession];" ne
fonctionne
| pas. Mais si je manuellement manuellement "[Session]![lien produit]=2"
cela
| fonctionne. Les 3 champs (réf produit, tempsession, lien produit) sont
tous
| en numérique.
|
| Je ne comprend donc pas pourquoi ma requête ne fonctionne pas en lui
| désignant une valeur par un champ alors que si je met directement la
valeur
| cela fonctionne??


Pourquoi passer par une zone de texte tampon ?

Il me semble que tu as juste besoin de ceci (liste liées...)
http://www.self-access.com/access/grenier/acRedir.php?id

A+
Pierre(3stone)



Avatar
Chris
Re bonjour

En fait, je crois que j'ai un problème de sur mon sous formulaire ou plutôt
un paramètre qui m'échappe.

Je m'explique :

Dans le même style que mon problème avec les listes, qui met la valeur à
tous les enregistrements de mon sous formulaire, j'ai voulu masquer des
champs si un booléen n'est pas vrai et là pareil ! Les champ sont masqué sur
tous les enregistrements! Alors que je veux simplement masquer certain
champs d'un enregistrement! Une seul ligne!

voiçi mon code :

If Me![TempSpectacle] = faux Then
Me![catégorie].Visible = False
Me![Lien session10].Visible = False

Else
Me![catégorie].Visible = True
Me![Lien session10].Visible = True

End If

Dans le même style ce code fonctionne :

If Me![TempSpectacle] = faux Then
Me![catégorie] = "Catégorie 1"
End If

Alors pourquoi le "Me![catégorie].Visible = False" agit t'il sur tous???????

Merci d'avance




"Chris" a écrit dans le message de
news:42625dac$0$3127$
Je te remerci,

Cela fonctionne, mais pas encore complétement. En effet mon sous
formulaire

est de type tableau et quand je choisie la valeur du deuxième menu (qui
affiche bien les valeurs correspondant au premier menu), tous mais
enregistrements de mon sous formulaire prennent cette valeur alors que je
ne

veux changer qu'un seul enregistrement.

Merci encore et d'avance pour ton (et votre) aides

Chris


"3stone" a écrit dans le message de
news:uV$
Salut,

"Chris"
| J'ai créé un sous-formulaire du type ligne commande. Il est composé de
| plusieurs menus déroulants qui font appels à différentes valeurs de
| différentes tables. les valeurs affichées dans le 2eme menu dépend du
choix
| du 1er menu.
|
| Voici ma requête :
|
| SELECT Session.Réfsession, Session.DateDébut, Session.DateFin,
Session.Salle
| FROM [Session]
| WHERE [Session]![lien produit]=[Formulaires]![Liste Lignes
| commande]![tempsession];
|
| Explication de mon raisonnement :
|
| Le 1er menu est le choix du "produit". Après modification, je met le
numéro
| interne du produit dans un champ tampon : "tempsession". l'affichage
de


mon
| 2eme menu dépend du résultat de ma requête. Mais le "WHERE
[Session]![lien

| produit]=[Formulaires]![Liste Lignes commande]![tempsession];" ne
fonctionne
| pas. Mais si je manuellement manuellement "[Session]![lien
produit]=2"


cela
| fonctionne. Les 3 champs (réf produit, tempsession, lien produit) sont
tous
| en numérique.
|
| Je ne comprend donc pas pourquoi ma requête ne fonctionne pas en lui
| désignant une valeur par un champ alors que si je met directement la
valeur
| cela fonctionne??


Pourquoi passer par une zone de texte tampon ?

Il me semble que tu as juste besoin de ceci (liste liées...)
http://www.self-access.com/access/grenier/acRedir.php?id

A+
Pierre(3stone)







Avatar
3stone
Salut,

"Chris"
| Dans le même style que mon problème avec les listes, qui met la valeur à
| tous les enregistrements de mon sous formulaire, j'ai voulu masquer des
| champs si un booléen n'est pas vrai et là pareil ! Les champ sont masqué
sur
| tous les enregistrements! Alors que je veux simplement masquer certain
| champs d'un enregistrement! Une seul ligne!
|


Dans un formulaire en mode continu, tu ne peux pas agir séparément
sur chaque champ de chaque ligne... sauf en utilisant la mise en forme
conditionnelle (mais qui a ses limites)
- séléctionne la zone de texte et regarde dans le menu format, mise en forme
conditionnelle

Quant à tes listes, lors de la création (avec l'assistant) on te demande:

"Stocker la valeur de ce champ dans :" lequel il faut renseigner !

A+
Pierre(3stone)