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

Bouton option dans formulaire liés à une requête

3 réponses
Avatar
Marco38
Bonsoir,

J'ai dans une formulaire des crit=E8res de s=E9lection pour=20
lancer un =E9tat li=E9 =E0 une requ=EAte.

Dans ma requ=EAte j'ai le champs calcul=E9 suivant :=20
D=E9cision_Termin=E9e: VraiFaux([Date =C9ch=E9ance]<Date
();Faux;Vrai)

Le champ D=E9cision_Termin=E9e indique dans l'=E9tat "Non"=20
ou "Oui" selon le r=E9sultat du calcul.

Dans mon formulaire j'ai cr=E9e un cadre option avec les 3=20
boutons options suivants :

1 Toutes les d=E9cisions (crit=E8re par d=E9fault)
2 d=E9cisions termin=E9es (donc "Oui")
3 d=E9cisions en cours (donc "Non")

Et la je n'arrive pas =E0 faire la jonction avec ma requ=EAte=20
dans le champs calcul=E9 D=E9cision_Termin=E9e pour avoir=20
uniquement Oui ou Non selon la case coch=E9e, J'ai essay=E9=20
dans la zone crit=E8re de saisir des formules mais cela ne=20
fonctionne pas.

Avez vous une solution

Merci
Marc

3 réponses

Avatar
Eric
"Marco38" écrivait
news:f4d801c43dee$4d911100$:

Bonsoir,

J'ai dans une formulaire des critères de sélection pour
lancer un état lié à une requête.

Dans ma requête j'ai le champs calculé suivant :
Décision_Terminée: VraiFaux([Date Échéance]<Date
();Faux;Vrai)

Le champ Décision_Terminée indique dans l'état "Non"
ou "Oui" selon le résultat du calcul.

Dans mon formulaire j'ai crée un cadre option avec les 3
boutons options suivants :

1 Toutes les décisions (critère par défault)
2 décisions terminées (donc "Oui")
3 décisions en cours (donc "Non")

Et la je n'arrive pas à faire la jonction avec ma requête
dans le champs calculé Décision_Terminée pour avoir
uniquement Oui ou Non selon la case cochée, J'ai essayé
dans la zone critère de saisir des formules mais cela ne
fonctionne pas.

Avez vous une solution

Merci
Marc



Bonsoir Marc

C'est le groupe d'options qui prend la valeur 1, 2 ou 3 quand tu cliques
sur une case à cocher.S'il se nomme cadre0,
cadre0 vaut 1 si Tous coché, 2 pour Oui et 3 pour Non
Donc dans ta requete, il faudrait mettre en critere quelque chose du
genre :
VraiFaux(Formulaires!TonFormulaire!Cadre0=2;Vrai;Faux) mais tu ne pourras
jouer que sur le cas Oui et le cas Non car tu travailles sur une
booléenne.

Je pense que si tu as besoin de Visualiser/Editer les Oui, Non et Tous,
je ferai ca en VBA.

la procédure en vba aurait cette forme :
Private Sub Cadre0_AfterUpdate()
Dim strSQL As String, strWhere As String, qry As QueryDef
strSQL = "select * from TaTable "
srWhere = ""
Select Case Cadre0
Case 2
strWhere = "Where Décision_Terminée=true"
Case 3
strWhere = "where Décision_Terminéeúlse"
End Select
strSQL = strSQL & strWhere & ";"
Set qry = CurrentDb.CreateQueryDef("qryTemp", strSQL)
DoCmd.OpenReport "TonEtat", acViewPreview
CurrentDb.QueryDefs.Delete "qryTemp"
Set qry = Nothing
End Sub


Tres important cette requête créée en sql sous vba doit être la source de
ton état donc donnes lui le même nom que celle que tu utilisais
initialement (que tu as au préalable supprimée) avec l'état.

A+
Eric

Avatar
Eric
Re Marc

J'ai oublié de te préciser qu'il te faut la référence Microsoft DAO 3.x
Object Library et prefixe qry comme ca :

Dim qry as DAO.Querydef

Eric

la procédure en vba aurait cette forme :
Private Sub Cadre0_AfterUpdate()
Dim strSQL As String, strWhere As String, qry As QueryDef
strSQL = "select * from TaTable "
srWhere = ""
Select Case Cadre0
Case 2
strWhere = "Where Décision_Terminée=true"
Case 3
strWhere = "where Décision_Terminéeúlse"
End Select
strSQL = strSQL & strWhere & ";"
Set qry = CurrentDb.CreateQueryDef("qryTemp", strSQL)
DoCmd.OpenReport "TonEtat", acViewPreview
CurrentDb.QueryDefs.Delete "qryTemp"
Set qry = Nothing
End Sub


Tres important cette requête créée en sql sous vba doit être la source
de ton état donc donnes lui le même nom que celle que tu utilisais
initialement (que tu as au préalable supprimée) avec l'état.

A+
Eric





Avatar
Marco38
Bonjour

Merci pour ta réponse je vais tester

@+
Marc
-----Message d'origine-----
Re Marc

J'ai oublié de te préciser qu'il te faut la référence
Microsoft DAO 3.x

Object Library et prefixe qry comme ca :

Dim qry as DAO.Querydef

Eric

la procédure en vba aurait cette forme :
Private Sub Cadre0_AfterUpdate()
Dim strSQL As String, strWhere As String, qry As
QueryDef


strSQL = "select * from TaTable "
srWhere = ""
Select Case Cadre0
Case 2
strWhere = "Where Décision_Terminée=true"
Case 3
strWhere = "where Décision_Terminéeúlse"
End Select
strSQL = strSQL & strWhere & ";"
Set qry = CurrentDb.CreateQueryDef("qryTemp",
strSQL)


DoCmd.OpenReport "TonEtat", acViewPreview
CurrentDb.QueryDefs.Delete "qryTemp"
Set qry = Nothing
End Sub


Tres important cette requête créée en sql sous vba
doit être la source


de ton état donc donnes lui le même nom que celle que
tu utilisais


initialement (que tu as au préalable supprimée) avec
l'état.



A+
Eric





.