设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 884|回复: 6
打印 上一主题 下一主题

[与其它组件] 我的SQL出错,请问JET SQL与ANSI SQL之区别

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-19 00:07:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式


我的SQL出错,请问JET SQL与ANSI SQL之区别?



我在里面的查询里SQL视图中输入下面SQL语句,窗口打开就要输入参数(原因是查询分析器不能标识由查询指定的对象或者估价某个表达式时,便会出现“输入参数值”对话框)


我想知道问题是出在字段名上吗,可这些字段名与表中,窗体中相符?


Select 企业.名称, 企业.客户号, 企业.法人代码, 企业.账号, 企业.网点编号, 企业.客户经理编号
From 企业
Where(((企业.网点编号)=[Forms]![企业资料]![网点编号Q]) And ((企业.名称)=[Forms]![企业资料]![企业名称Q]) And ((企业.客户经理编号)=[Forms]![企业资料]![客户经理编号Q]))


Or
(((企业.网点编号)=[Forms]![企业资料]![网点编号Q]) And ((企业.名称)=[Forms]![企业资料]![企业名称Q]) And ([Forms]![企业资料]![客户经理编号Q] IsNull))


Or
(((企业.网点编号)=[Forms]![企业资料]![网点编号Q]) And ([Forms]![企业资料]![企业名称Q] Is Null) And ((企业.客户经理编号)=[Forms]![企业资料]![客户经理编号Q]))


Or (([Forms]![企业资料]![网点编号Q] IsNull) And ((企业.名称)=[Forms]![企业资料]![企业名称Q]) And ((企业.客户经理编号)=[Forms]![企业资料]![客户经理编号Q]))


Or
(((企业.网点编号)=[Forms]![企业资料]![网点编号Q]) And ([Forms]![企业资料]![企业名称Q] IsNull) And ([Forms]![企业资料]![客户经理编号Q] IsNull))


Or
(([Forms]![企业资料]![网点编号Q] IsNull) And ((企业.名称)=[Forms]![企业资料]![企业名称Q]) And ([Forms]![企业资料]![客户经理编号Q] IsNull))


Or
(([Forms]![企业资料]![网点编号Q] IsNull) And ([Forms]![企业资料]![企业名称Q] IsNull) And ((企业.客户经理编号)=[Forms]![企业资料]![客户经理编号Q]))


Or
(([Forms]![企业资料]![网点编号Q] IsNull) And ([Forms]![企业资料]![企业名称Q] IsNull) And ([Forms]![企业资料]![客户经理编号Q] IsNull))


[此贴子已经被作者于2006-5-18 17:30:57编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
7#
 楼主| 发表于 2006-5-19 01:37:00 | 只看该作者
我的SQL语句是在查询里的SQL视图中,在输入语句打开相应的企业资料窗体(在这窗体中引用到此查询)或打开查询都会要求输入参数。

ISNULL和IS NULL有什么特别的区别吗,()IS NULL和ISNULL()又有什么区别呢
6#
发表于 2006-5-19 01:11:00 | 只看该作者
如果以上是用在窗体里的SQL,请注意通配符的引用.另外

先将要引用的窗体打开.

请将(...IsNull改为

IsNull(...)

最好能将你的MDB放上来.
5#
 楼主| 发表于 2006-5-19 00:50:00 | 只看该作者
我输入SQL再打开窗体时也出现一样的问题,不只是在打开查询的时候。试了你的方法,还是有问题。
4#
发表于 2006-5-19 00:24:00 | 只看该作者


因为你引用了窗体:[企业资料]的值,在这个窗体没有打开的情况下,ACCESS当然会提示你输入参数。你先打开你引用的窗体,再打开SQL就不会有这个问题了。

[此贴子已经被作者于2006-5-18 16:30:22编辑过]

3#
发表于 2006-5-19 00:17:00 | 只看该作者
Microsoft Jet SQL 和 ANSI SQL 的比较





Microsoft Jet 数据库引擎


SQL 通常与 ANSI-89 Level 1 相兼容。但是,某些 ANSI


SQL 特性并没有在 Microsoft® Jet SQL 中实现。在 Microsoft Jet 4.X 版本发行后,Microsoft OLE DB


Provider for Jet 使用了更多的 ANSI-92


SQL
语法。而 Microsoft Jet SQL 则包含 ANSI SQL 不支持的关键字和特性。





主要区别







  • Microsoft Jet SQL 和 ANSI SQL 各自拥有不同的保留字和数据类型。有关详细信息,请参阅 Microsoft Jet Database


    Engine SQL 保留字
    等价的 ANSI SQL


    数据类型
    。如果将 Jet 4.X 和 Microsoft OLE DB Provider for Jet 一起使用,还有其他保留字。

  • 应用于 Between...And 结构的规则不同,该结构具有以下语法:


    expr1 [NOT] Between value1 And


    value2


    在 Microsoft Jet SQL 中,value1 可以大于 value2;在 ANSI SQL 中,value1 必须小于或等于


    value2。

  • Microsoft Jet SQL 支持 ANSI SQL 通配符和 Microsoft Jet 专用的通配符以用于运算符 Like。ANSI 和 Microsoft Jet 通配符的使用是互不包括的。必须使用其中一种而不能混合使用。ANSI SQL


    通配符仅在使用 Jet 4.X 和 Microsoft OLE DB Provider for Jet 时才是可用的。如果试图通过 Microsoft


    Access 或者 DAO 来使用 ANSI SQL 通配符,那么它们会被解释为文本。相反,使用 Microsoft OLE DB Provider for


    Jet 和 Jet 4.X 时,才会成功执行。











    匹配字符


    Microsoft Jet SQL


    ANSI SQL





    任何单个字符


    ?


    _(下划线)





    零个或多个字符


    *


    %


  • Microsoft Jet SQL 通常限制性很少。例如,它允许对表达式进行分组和排序。

  • Microsoft Jet SQL 支持更加强大的表达式。








Microsoft Jet SQL 的增强功能





Microsoft Jet SQL 提供了如下增强功能:





TRANSFORM 语句,它对交叉表查询提供支持。







  • 增加了其他 SQL 聚合函数,如StDevVarP











PARAMETERS 声明用于定义参数查询





Microsoft Jet SQL 不支持的 ANSI SQL 功能。





Microsoft Jet SQL 不支持如下 ANSI SQL 功能:







  • DISTINCT 聚合函数引用。例如,Microsoft Jet SQL 不允许 SUM(DISTINCT columnname)。

  • 用于限制查询返回的行数的 LIMIT TO nn ROWS 子句。只能使用 WHERE 子句来限制查询的范围。








请参阅

















等价的 ANSI SQL


数据类型



Microsoft Jet


数据库引擎 SQL 保留字






Like





SQL 聚合函数








Microsoft Jet 数据库引擎


SQL 数据类型



使用通配符进行字符串比较








2#
发表于 2006-5-19 00:15:00 | 只看该作者




发个附件上来,看得有点晕了。





您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-20 15:32 , Processed in 0.139238 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表