Créer un état en fonction de la réponse de l'utilisateur.

cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 16 juin 2005 à 11:53
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 17 juin 2005 à 12:19
Bonjour,

Je travaille actuellement sur une base de données sous ACCESS comportant une table : échantillon. L'un des champs de cette table est le nom du site de prélèvement de l'echantillon : nom_site. De plus j'ai créé un formulaire où je propose à l'utilisateur de choisir le site qu'il souhaite consulter (champ site dans mon formulaire).
Mon problème c'est que je n'arrive pas à créer un état en fonction de la réponse. J'ai essayé de récupérer de idées de codes à droite à gauche mais ça ne marche pas.
Voilà mon code qui ne marche pas.
Dim rpt As Report
Dim requete As String
requete = "SELECT * FROM echantillon WHERE (echantillon.nom_site=site)"
Set rpt = CreateReport
DoCmd.OpenReport rpt, acViewDesign
rpt.RecordSource = requete
rpt.Caption = "site"
DoCmd.Restore
DoCmd.OpenReport rpt, acPreview
Pour info le message d'erreur à l'exécution est : Le type d'une expression entrée pour un des arguments est incorrect.

Merci pour vos réponse.
Seb.

6 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
16 juin 2005 à 12:55
Ca doit etre à cause de

requete = "SELECT * FROM echantillon WHERE (echantillon.nom_site='site')"

ou si l'utilisateur doit tapé le text

requete = "SELECT * FROM echantillon WHERE (echantillon.nom_site='" & text1.text & "')"



@+
0
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
16 juin 2005 à 13:05
Bonjour,

Essaye également avec :

DoCmd.OpenReport rpt.Name, acViewDesign

et

DoCmd.OpenReport rpt.Name, acPreview

wape
0
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
16 juin 2005 à 15:34
Merci pour les réponses,
En fesant les modifications de wape j'arrive à ouvrir un état mais il affiche une page blanche.


Mon problme vient de ma requête SQL. J'ai essayé de faire les corrections proposées par frop01 mais ça ne marche pas. Pour résumé la situation, en fait , j'ai créé un formulaire avec une zone de texte qui prend en entrée le nom du site dont on souhaite voir l'état. C'est ma variable site dans mon programme. C'est pour cela que j'avais mis "SELECT * FROM echantillon WHERE (echantillon.nom_site=site)"
Du coup j'ai voulu corriger par la solution 2 de frop01:
requete = "SELECT * FROM echantillon WHERE (echantillon.nom_site='" & text1.text & "')"
Mais je ne voit pas par quoi remplacer text1.text dans mon programme ?

Merci pour vos réponses
Seb.
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
16 juin 2005 à 15:43
si c'est une variable string (site)

alors la requete est :

requete = "SELECT * FROM echantillon WHERE (echantillon.nom_site='" & site & "')"

sinon trouves le nom du textbox

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
16 juin 2005 à 16:11
J'ai essayé mais ça ne marche pas. Au final après avoir suivi les recommandations de tout le monde mon code est :
Dim rpt As Report
Dim requete As String
requete = "SELECT * FROM echantillon WHERE (nom_site='" & Site & "')"
Set rpt = CreateReport
rpt.RecordSource = requete
rpt.Caption = "site"
DoCmd.OpenReport rpt.Name, acPreview
L'état affiche toujours une page blanche. Pourtant j'ai vérifié j'ai bien un champ nom_site dans ma table et ma zone de texte a bien comme nom : site (est-ce de ça dont tu parles quand tu me dis tu trouver le nom du textebox ?)
@+
Seb.
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
17 juin 2005 à 12:19
on va faire un autre test :



requete = "SELECT * FROM echantillon WHERE (nom_site like '" & Site & "')"



et lors de l'execution mets dans ton textbox le caractère * et si ca sort tout les enregistrement alors tout est ok
0
Rejoignez-nous