2010-08-05 4 views
0

monsieur, il comme la recherche à la fonctionrequête SQL basée sur certains critères

j'ai besoin de rechercher la table qui a des données stockées dans la table d'accès ms. J'ai créé une zone de texte pour le numéro de contrat, le nom d'utilisateur et la date et j'ai besoin de faire une recherche dans la table en fonction du numéro de contrat ou du nom d'utilisateur ou de la date.

pour cela j'ai besoin d'un codage avec résoudre le problème en commande SQL unique. J'ai essayé avec l'aide où est une table, le test de recherche est la forme.

lorsque l'aide (tableau) .cont_no (champ) est égal à la recherche-test (nom du formulaire) .cont_no (texte champ de la)

SELECT * FROM Help WHERE (((Help.cont_no)=[Forms]![search-test]![cont_no])) OR 
(((Help.username)=[Forms]![search-test]![username]) or 
((Help.date)=[Forms]![search-test]![cbo_date])); 

espère que vous comprendrez mon avis

Répondre

0

I Je crois comprendre que vous voulez effectuer une recherche en fonction d'une combinaison de ces critères. Je vous suggère d'essayer ceci:

SELECT * 
FROM Help 
WHERE 
    ([Forms]![search-test]![cont_no] = '' OR Help.[cont_no]=[Forms]![search-test]![cont_no]) 
AND 
    ([Forms]![search-test]![username] = '' OR Help.[username]=[Forms]![search-test]![username]) 
AND 
    ([Forms]![search-test]![cbo_date] = '' OR Help.[date]=[Forms]![search-test]![cbo_date]) 

Cette requête recherchera une combinaison de vos champs de recherche si vous avez saisi des valeurs en eux. S'ils sont vides, ils sont exclus des critères de recherche. Vous devrez peut-être l'ajuster au besoin pour l'état "vide" de vos champs. J'ai supposé « vide » pour une chaîne vide

MISE À JOUR Si vous souhaitez rechercher une combinaison des critères que vous pouvez utiliser ou clauses comme suit:

SELECT * 
FROM Help 
WHERE 
    Help.[cont_no]=[Forms]![search-test]![cont_no] 
OR 
    Help.[username]=[Forms]![search-test]![username] 
OR 
    Help.[date]=[Forms]![search-test]![cbo_date] 
+0

merci beaucoup pour une réponse immédiate. J'ai donné un coup de code. ça marche si toutes les polices sont entrées par l'utilisateur. J'ai besoin d'un code qui combine toute la commande sql. l'utilisateur peut entrer dans un ou deux champs ou tous les trois champs. J'ai besoin de rechercher dans la base de données avec une requête de champ ou deux requêtes feild ou trois requêtes feilds. J'ai essayé avec l'aide où est une table et search-test est form.contract non, nom d'utilisateur et date de feild dans la base de données et les formulaires. où l'aide (table) .cont_no (field) est égale ou différente de search-test (nom du formulaire) .cont_no (champ de zone de texte) – user411670

Questions connexes