Office中国论坛/Access中国论坛

标题: 在ACCESS 2002中使用ANSI92SQL语法 [打印本页]

作者: zhuyiwen    时间: 2003-4-2 19:33
标题: 在ACCESS 2002中使用ANSI92SQL语法
如果你是使用的ACCESS 2002/XP,你将能在你的MDB中使用与SQL SERVER中几乎一样的SQL语法,其标准为 ANSI-92

  在 HELP 中,MS是这样说的:
使用 ANSI-92 SQL 的可能原因有如下几种:

1.预测将来要将应用程序升迁为 Access 项目,并且想在 Microsoft SQL Server 数据库中创建运行时变化最小的查询。
2.希望利用 ANSI-89 SQL 中所不具备的新功能,如:
  a.通过使用 GRANT 和 REVOKE SQL 语句更改安全设置
  b.在聚合函数引用中使用 DISTINCT,例如,SUM(DISTINCT Price)
  c.使用 LIMIT TO nn ROWS 子句限制查询返回的行数

注意

  ANSI-89 是 2002 和 2000 文件格式中新 Microsoft Access 数据库的默认设置。不能将 2000 文件格式中新数据库的 SQL 查询模式默认设为 ANSI-92,因为该选项是禁用的;对于 Access 2000 文件格式的数据库,ANSI-89 是唯一可用的查询模式设置。
  尽管在副本中可以将查询模式设为 ANSI-92,但 Access 将忽略它。只能在副本集的“设计母版”中设置该选项。

警告
  在更改 ANSI SQL 查询模式时请谨慎从事。现有查询可能不运行,或者可能返回异常结果。每个查询模式中数据类型的范围、保留字和通配符都是不同的。
-------------------------------------------------------------------------------------------------------------------

操作方法

一、设置当前数据库的 ANSI SQL 查询模式

在“工具”菜单上,单击“选项”,然后单击“表/查询”选项卡。 如图:
[attach]39[/attach]
执行下列操作之一:
  1.在"SQL Server 兼容语法(ANSI 92)"选项组中,选中“当前数据库”复选框,可以将查询模式设为 ANSI-92 SQL。
  2.在"SQL Server 兼容语法(ANSI 92)"选项组中,清除“当前数据库”复选框,可以将查询模式设为 ANSI-89 SQL。

注意   在新设置生效之前,Microsoft Access 关闭、压缩然后重新打开数据库。如图:
[attach]42[/attach]

二、设置新数据库的 ANSI SQL 查询模式
 1.在“工具”菜单上,单击“选项”,然后单击“高级”选项卡。
 2.从“默认文件格式”列表框中选择“Access 2002”。如图:
[attach]40[/attach]
 3.单击“表/查询”选项卡。 选中“作为新数据库的默认设置”复选框。如图:
[attach]41[/attach]

-------------------------------------------------------------------------------------------------------------------

  由于能够使用 ANSI 92 语法,这对于既想写MDB又想写ADP的程序员来说,是一件非常好的事情,不必要记两套SQL语法规则。尤其是通配符,就可以统一使用“%”和“_“,等等。好处颇多。
[此贴子已经被作者于2003-4-3 9:41:55编辑过]


作者: zhuyiwen    时间: 2003-4-2 19:44
贴子无法编辑
作者: tmtony    时间: 2003-4-2 22:03
我用普通用户试了一下可以修改哦,你在测试栏目里测试一个看看是否可以,是否跟内容长度有关
作者: zhengjialon    时间: 2003-4-2 22:37
不是,是跟标题长度有关,一开始发表新主题没有50个字符限制,编加辑时就限制了。
作者: zhuyiwen    时间: 2003-4-3 17:44
以下是引用zhengjialon在2003-4-2 14:36:57的发言:
不是,是跟标题长度有关,一开始发表新主题没有50个字符限制,编加辑时就限制了。


不错!是标题长度问题.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3