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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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