Access 2007查询,在没有输入时选择所有值 [英] Access 2007 query that choose all values when no input

查看:73
本文介绍了Access 2007查询,在没有输入时选择所有值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在访问2007数据库中写了这个查询:



I've write this query in an access 2007 database:

SELECT Ordini.ID, Ordini.Data, Clienti.Cognome, Clienti.Nome, DettagliOrdine.IDProdotto, Prodotti.Descrizione, Prodotti.Prezzo, DettagliOrdine.Quantità, ([Prezzo]*[Quantità]) AS Totale, Ordini.Note, Produttori.Nome, Ordini.Ordinato, Ordini.Arrivato, Ordini.Ritirato
FROM Produttori INNER JOIN (Prodotti INNER JOIN ((Clienti INNER JOIN Ordini ON Clienti.ID = Ordini.IDCliente) INNER JOIN DettagliOrdine ON Ordini.ID = DettagliOrdine.IDOrdine) ON Prodotti.ID = DettagliOrdine.IDProdotto) ON Produttori.ID = Prodotti.IDFornitore
WHERE (((Clienti.Cognome)=[Cognome: ]) AND ((Clienti.Nome)=[Nome: ]) AND (([Cognome: ]) Is Not Null))ORDER BY Ordini.Data;





此查询为COGNOME和NOME研究领域提供了一个输入框。



如果用户没有为该字段研究标签写任何内容(按ENTER),我需要这样做。 (该字段的所有值)。



es。如果用户写了一个COGNOME而不是NOME(在弹出的NOME窗口时按下ENTER键),那就用COGNOME在所有NOME上进行研究。



我怎么能这样做?



This query brings up an input box for the COGNOME and NOME field of research.

I need that if user write nothing (press ENTER) for that field research tag is . (all value of that field).

es. If user write a COGNOME but not a NOME (press ENTER when popup NOME window) research to be done on all the NOME with that "COGNOME".

How can I do this?

推荐答案

有两个选项:

1)使用userform和VBA构建查询On the fly [ ^ ]或

2)使用 IIF功能 [ ^ ]声明参数 [ ^ ]



There are 2 options:
1) building queries "On the Fly" using userform and VBA[^] or
2) using IIF function[^] with declaration of PARAMETERS[^]

PARAMETERS param1 CHAR, param2 CHAR;
SELECT ...
FROM ...
WHERE Field1 = IIF([param1] IS NULL,'*',[param1]) AND Field2 = IIF([param2] IS NULL, '*', [param2]) 





Not测试,但应该工作正常。



Not tested, but should works fine.


这篇关于Access 2007查询,在没有输入时选择所有值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆