高手帮忙看下这段select语句有没有错误,就是从一个存书表中通过ISBN号,作者,出版社,书名进行查找.

问题描述:

高手帮忙看下这段select语句有没有错误,就是从一个存书表中通过ISBN号,作者,出版社,书名进行查找.
SELECT 存书.ISBN,存书.书名,存书.作者,存书.出版社
FROM 存书
WHERE (((存书.ISBN)=Forms!存书查询!ISBN) And ((存书.书名)=Forms!存书查询!书名) And ((存书.作者)=Forms!存书查询!作者) And ((存书.出版社)=Forms!存书查询!出版社)) Or (((Forms!存书查询!ISBN) Is Null) And ((Forms!存书查询!书名) Is Null) And ((Forms!存书查询!作者) Is Null) And ((Forms!存书查询!出版社) Is Null)) Or (((存书.ISBN)=Forms!存书查询!ISBN)) Or (((存书.书名)=Forms!存书查询!书名)) Or (((存书.作者)=Forms!存书查询!作者)) Or (((存书.出版社)=Forms!存书查询!出版社)) Or (((InStr(存书.ISBN,Forms!存书查询!ISBN))>0)) Or (((InStr(存书.书名,Forms!存书查询!书名))>0)) Or (((InStr(存书.作者,Forms!存书查询!作者))>0)) Or (((InStr(存书.出版社,Forms!存书查询!出版社))>0));
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
楼上的看来不懂ACCESS,Forms也不知道.
这个查询没有必要写得这么复杂,写一个模糊查询的函数,用Like即可.
再问: 那麻烦您给我写一个,我也是不会,能用的话加分
再答: 在模块中加入以下函数: Function N2Mii(anyValue As Variant) As Variant '在窗体查询中使用-模糊查询 查任何位置字符串 If IsNull(anyValue) Or IsEmpty(anyValue) Or anyValue = "" Then N2Mii = "*" Else N2Mii = "*" & anyValue & "*" End If End Function 查询改成如下: SELECT ISBN,书名,作者, 出版社 FROM 存书 WHERE ISBN Like n2mii(Forms!存书查询!ISBN) And 书名 Like n2mii(Forms!存书查询!书名) And 作者 Like n2mii(Forms!存书查询!作者) And 出版社 Like n2mii(Forms!存书查询!出版社)
再问: 你这个n2mii,一直被提示有二义性,大哥再帮忙看下,太谢谢您了
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么