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

requete etat

1 réponse
Avatar
VINCENT
Aprés avoir créé une requete et un etat, c'est à partir d'un formulaire et
de zone de liste modifiable que je renseigne les champs de ma requete pour
que le resultat s'affiche dans L'état.
Mon formulaire comporte plusieur zone de liste et je voudrais que
l'utilisateur ne soit pas obligé de toutes les renseigner pour afficher
l'etat.
merci
Je vous colle le code vba derriere le bouton du formulaire
Merci par avance
Private Sub test_Click()
Dim sqlstr As String
Dim req As QueryDef
sqlstr = "SELECT formateurs.formateur, lieux.lieu, matieres.matiere,
types.type, editeurs.editeur, documents.intitule, auteurs.Auteur "
sqlstr = sqlstr & "FROM auteurs INNER JOIN (lieux INNER JOIN (types INNER
JOIN (formateurs INNER JOIN (matieres INNER JOIN (editeurs INNER JOIN
documents ON editeurs.editeur = documents.editeur) ON matieres.matiere =
documents.matiere) ON formateurs.formateur = documents.formateur) ON
types.type = documents.type) ON lieux.lieu = documents.lieu) ON
auteurs.Auteur = documents.auteur "
sqlstr = sqlstr & "WHERE ((formateurs.formateur='" & Me.Modifiable0 & "')
AND (lieux.lieu='" & Me.Modifiable2 & "') AND (matieres.matiere='" &
Me.Modifiable4 & "') AND (types.type='" & Me.Modifiable11 & "') AND
(editeurs.editeur='" & Me.Modifiable15 & "') AND (auteurs.Auteur='" &
Me.Modifiable13 & "'));"
On Error GoTo Errtest_Click
Set req = CurrentDb.QueryDefs("Req1")
req.SQL = sqlstr
DoCmd.OpenReport "formateurs", acViewPreview
Fintest_Click:
Exit Sub
Errtest_Click:
Set req = CurrentDb.CreateQueryDef("Req1", sqlstr)
Resume Fintest_Click
End Sub

1 réponse

Avatar
CHANDANSON Fabrice
Bonjour,
si j'ai comprit votre problème :
l'utilisateur doit pouvoir laisser des champ non renseigné (donc vide ou null)
dans ce cas:
vous devez créer plusieurs requetes
vous tester si les listes modifiables ou autre control ont des valeurs
et en fonction des résultats vous modifier la propriété recordsource de
l'état pour mettre le nom de la bonne requete.


Aprés avoir créé une requete et un etat, c'est à partir d'un formulaire et
de zone de liste modifiable que je renseigne les champs de ma requete pour
que le resultat s'affiche dans L'état.
Mon formulaire comporte plusieur zone de liste et je voudrais que
l'utilisateur ne soit pas obligé de toutes les renseigner pour afficher
l'etat.
merci
Je vous colle le code vba derriere le bouton du formulaire
Merci par avance
Private Sub test_Click()
Dim sqlstr As String
Dim req As QueryDef
sqlstr = "SELECT formateurs.formateur, lieux.lieu, matieres.matiere,
types.type, editeurs.editeur, documents.intitule, auteurs.Auteur "
sqlstr = sqlstr & "FROM auteurs INNER JOIN (lieux INNER JOIN (types INNER
JOIN (formateurs INNER JOIN (matieres INNER JOIN (editeurs INNER JOIN
documents ON editeurs.editeur = documents.editeur) ON matieres.matiere > documents.matiere) ON formateurs.formateur = documents.formateur) ON
types.type = documents.type) ON lieux.lieu = documents.lieu) ON
auteurs.Auteur = documents.auteur "
sqlstr = sqlstr & "WHERE ((formateurs.formateur='" & Me.Modifiable0 & "')
AND (lieux.lieu='" & Me.Modifiable2 & "') AND (matieres.matiere='" &
Me.Modifiable4 & "') AND (types.type='" & Me.Modifiable11 & "') AND
(editeurs.editeur='" & Me.Modifiable15 & "') AND (auteurs.Auteur='" &
Me.Modifiable13 & "'));"
On Error GoTo Errtest_Click
Set req = CurrentDb.QueryDefs("Req1")
req.SQL = sqlstr
DoCmd.OpenReport "formateurs", acViewPreview
Fintest_Click:
Exit Sub
Errtest_Click:
Set req = CurrentDb.CreateQueryDef("Req1", sqlstr)
Resume Fintest_Click
End Sub