Non testé mais peut-être avec : Eval("Formulaires![frm_recherche]![opérateur]" & " " & "Formulaires![frm_recherche]![valeur]") en critère ?
Si c'est en SQL remplacer Formulaires par Forms
Bonjour,
Voilà je fais une requête avec des critères :
Première zones donne l'opérateur soir "=";"<";">";... Deuxième zones donne la valeur (ex : 8)
Je désire faire une requête sans qui à comme critère l'opérateur " " la valeur
Mais voila quand je met ma formule il ne recherche pas tous les valeur inférieur à 8 mais il recherche <8 dans le champ...
Quelle syntaxe prendre pour qu'il comprenne que forms![frm_recherche]![opérateur] n'est pas une valeur mais un opérateur ....
Merci d'vance
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
re,
Ne tiens pas compte de ma réponse précédente, ca ne doit pas marcher. Par contre la procédure suivante OUI.
Un formulaire nommé Formulaire1 avec 2 zones de textes (txtOperateur et txtValeur) et un bouton de commande Commande4. Il faut créer la chaine SQL avec la fonction Eval() pour récupérer les éléments saisis dans les zones de texte. Puis, on crée la requête, on l'ouvre et enfin, on la supprime de la collection des requêtes pour une utilisation ultérieure de la procédure. Cet exemple permet de ne voir que les factures dont le n° est =, <, <=,
, >= ou encore <> d'une valeur
Ce qui donne: Private Sub Commande4_Click() Dim ret As String, qry As DAO.QueryDef, strSQL As String 'Récupération des éléments saisis dans les zones de texte ret = Eval("Forms!formulaire1![txtOperateur] & Forms!formulaire1![txtvaleur]") ' Construction du SQL strSQL = "Select * from tfacture where NumFacture " & ret & ";" ' Création de la requête temporaire Set qry = CurrentDb.CreateQueryDef("tmpQRY", strSQL) ' Ouverture de la requête DoCmd.OpenQuery "tmpQRY" 'Suppression de la requête CurrentDb.QueryDefs.Delete "tmpQRY" 'Libération des variables-objet Set qry = Nothing End Sub
Attention à la ligne ret=..., tout est sur la même ligne, pas de retour à la ligne pour Forms!formulaire1![txtvaleur]")
PS : Charger la Référence Microsoft DAO 3.x
Bonjour,
Non testé mais peut-être avec : Eval("Formulaires![frm_recherche]![opérateur]" & " " & "Formulaires![frm_recherche]![valeur]") en critère ?
Si c'est en SQL remplacer Formulaires par Forms
Bonjour,
Voilà je fais une requête avec des critères :
Première zones donne l'opérateur soir "=";"<";">";... Deuxième zones donne la valeur (ex : 8)
Je désire faire une requête sans qui à comme critère l'opérateur " " la valeur
Mais voila quand je met ma formule il ne recherche pas tous les valeur inférieur à 8 mais il recherche <8 dans le champ...
Quelle syntaxe prendre pour qu'il comprenne que forms![frm_recherche]![opérateur] n'est pas une valeur mais un opérateur ....
Merci d'vance
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Ne tiens pas compte de ma réponse précédente, ca ne doit pas marcher.
Par contre la procédure suivante OUI.
Un formulaire nommé Formulaire1 avec 2 zones de textes (txtOperateur et
txtValeur) et un bouton de commande Commande4.
Il faut créer la chaine SQL avec la fonction Eval() pour récupérer les
éléments saisis dans les zones de texte. Puis, on crée la requête, on
l'ouvre et enfin, on la supprime de la collection des requêtes pour une
utilisation ultérieure de la procédure.
Cet exemple permet de ne voir que les factures dont le n° est =, <, <=,
, >= ou encore <> d'une valeur
Ce qui donne:
Private Sub Commande4_Click()
Dim ret As String, qry As DAO.QueryDef, strSQL As String
'Récupération des éléments saisis dans les zones de texte
ret = Eval("Forms!formulaire1![txtOperateur] &
Forms!formulaire1![txtvaleur]")
' Construction du SQL
strSQL = "Select * from tfacture where NumFacture " & ret & ";"
' Création de la requête temporaire
Set qry = CurrentDb.CreateQueryDef("tmpQRY", strSQL)
' Ouverture de la requête
DoCmd.OpenQuery "tmpQRY"
'Suppression de la requête
CurrentDb.QueryDefs.Delete "tmpQRY"
'Libération des variables-objet
Set qry = Nothing
End Sub
Attention à la ligne ret=..., tout est sur la même ligne, pas de retour
à la ligne pour Forms!formulaire1![txtvaleur]")
PS : Charger la Référence Microsoft DAO 3.x
Bonjour,
Non testé
mais peut-être avec :
Eval("Formulaires![frm_recherche]![opérateur]" & " " &
"Formulaires![frm_recherche]![valeur]") en critère ?
Si c'est en SQL remplacer Formulaires par Forms
Bonjour,
Voilà je fais une requête avec des critères :
Première zones donne l'opérateur soir "=";"<";">";...
Deuxième zones donne la valeur (ex : 8)
Je désire faire une requête sans qui à comme critère l'opérateur " "
la valeur
Mais voila quand je met ma formule il ne recherche pas tous les valeur
inférieur à 8 mais il recherche <8 dans le champ...
Quelle syntaxe prendre pour qu'il comprenne que
forms![frm_recherche]![opérateur] n'est pas une valeur mais un
opérateur ....
Merci d'vance
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ne tiens pas compte de ma réponse précédente, ca ne doit pas marcher. Par contre la procédure suivante OUI.
Un formulaire nommé Formulaire1 avec 2 zones de textes (txtOperateur et txtValeur) et un bouton de commande Commande4. Il faut créer la chaine SQL avec la fonction Eval() pour récupérer les éléments saisis dans les zones de texte. Puis, on crée la requête, on l'ouvre et enfin, on la supprime de la collection des requêtes pour une utilisation ultérieure de la procédure. Cet exemple permet de ne voir que les factures dont le n° est =, <, <=,
, >= ou encore <> d'une valeur
Ce qui donne: Private Sub Commande4_Click() Dim ret As String, qry As DAO.QueryDef, strSQL As String 'Récupération des éléments saisis dans les zones de texte ret = Eval("Forms!formulaire1![txtOperateur] & Forms!formulaire1![txtvaleur]") ' Construction du SQL strSQL = "Select * from tfacture where NumFacture " & ret & ";" ' Création de la requête temporaire Set qry = CurrentDb.CreateQueryDef("tmpQRY", strSQL) ' Ouverture de la requête DoCmd.OpenQuery "tmpQRY" 'Suppression de la requête CurrentDb.QueryDefs.Delete "tmpQRY" 'Libération des variables-objet Set qry = Nothing End Sub
Attention à la ligne ret=..., tout est sur la même ligne, pas de retour à la ligne pour Forms!formulaire1![txtvaleur]")
PS : Charger la Référence Microsoft DAO 3.x
Bonjour,
Non testé mais peut-être avec : Eval("Formulaires![frm_recherche]![opérateur]" & " " & "Formulaires![frm_recherche]![valeur]") en critère ?
Si c'est en SQL remplacer Formulaires par Forms
Bonjour,
Voilà je fais une requête avec des critères :
Première zones donne l'opérateur soir "=";"<";">";... Deuxième zones donne la valeur (ex : 8)
Je désire faire une requête sans qui à comme critère l'opérateur " " la valeur
Mais voila quand je met ma formule il ne recherche pas tous les valeur inférieur à 8 mais il recherche <8 dans le champ...
Quelle syntaxe prendre pour qu'il comprenne que forms![frm_recherche]![opérateur] n'est pas une valeur mais un opérateur ....
Merci d'vance
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr