Récupérer une valeur pour mettre dans requête

Fermé
Sara - 2 janv. 2008 à 23:38
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 3 janv. 2008 à 16:11
Bonjour,

Dans Access, j'ai un formulaire général pour prendre des réservation qui contient l'adresse du client.
Dans le même formulaire, j'ai un sous-formulaire qui récupère via une requête les données des réservations du client. Un client peut donc avoir plusieurs réservations.
Dans ce sous-formulaire, j'ai mis un bouton détail de la réservation et lorsque j'appuis dessus, j'aimerais qu'il fasse ouvrir un autre formulaire qui me donne le détail de la réservation en question.
Par ma requête je suis capable de filtrer le no du client, mais je ne peux pas aller chercher le no de la réservation. Dans mon vba, si je demande un msgbox, il me revoit le bon no de réservation.
Comment me service de cette valeur pour la mettre dans ma requête?

merci,

Sara

4 réponses

BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 403
2 janv. 2008 à 23:50
Si j'ai bien compris, je crois qu'il te manque un lien entre ta tables "Clients" et ta table "Reservations".
Tu devrais insérer un champ "NumClient" dans ta table "Reservations", ainsi tu seras capable de lister les réservations faites par un client grâce à une requête.

Si tu as des questions plus détaillées n'hésite pas ;)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 janv. 2008 à 23:51
Bonjour,

Il faut mettre dans une variable ce que tu as dans le msgbox.

Var = "ce que tu as dans msgbox"

ensuite dans ta requête : "Select * from taTable Where idClient = " & numClient & " And numRéservation = " & var

Bon courage

;o)

Polux
0
Bonjour Polux31,

Je suis bien capable de mettre la valeur dans la variable, mais pour la syntaxe dans la requête ça ne fonctionne. voici ce que j'ai mis comme commande sur mon bouton :
Private Sub detail_Click()
var_nores = [NO_CONF_]
DoCmd.OpenForm "frm_detail_reservation", acNormal, "qry_detail_resevervation", [NO_CONF_] = var_nores, acFormEdit
'MsgBox var_nores
End Sub

Voici ce que j'ai dans ma requête :
SELECT tbl_reservation.*
FROM tbl_reservation
WHERE (((tbl_reservation.NO_CONF_)= var_nores) AND ((tbl_reservation.NO_CLIENT)=[Formulaires]![frm_adresse]![NO_CLIENT]))
ORDER BY tbl_reservation.NO_CONF_ DESC;

Si je le mets comme ça il me demande la valeur de var_nores et si je le mets entre guillemets il l'interprête comme du texte.

Merci pour ton aide,

Sara
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 janv. 2008 à 16:11
Salut Sara

Je pense que tu as construit ta requête avec l'éditeur de requête d'Access. Essaies plutôt de passer ta requête par le code, du genre :

Dim Query As String

Query = "SELECT * FROM tbl_reservation WHERE (((tbl_reservation.NO_CONF_)= " & var_nores & ") AND ((tbl_reservation.NO_CLIENT)=[Formulaires]![frm_adresse]![NO_CLIENT])) ORDER BY tbl_reservation.NO_CONF_ DESC".

Ou alors utilise un requête imbriquée : "Select * From tbl_reservation Where NO_CLIENT =[Formulaires]![frm_adresse]![NO_CLIENT] And (Select NO_CONF From tbl_reservation Where NO_CLIENT = [Formulaires]![frm_adresse]![NO_CLIENT) ORDER BY NO_CONF_ DESC;)

Je n'ai pas testé, je n'ai pas Access sous la main ...

Tiens moi au courant ... bon courage

;o)

Polux
0