Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> ADP  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1702354
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

VBA与T-SQL之间的函数比较;SQL Server的SQL语句如何在ACCESS中使用?

作者:MS & cg1  摘自:access911.net  :cg1  更新日期:2003-10-24  浏览人次:

 

Visual Basic for Applications 与 SQL Server Transact-SQL 之间的函数比较 (ADP)
注释  本主题中的信息仅适用于 Microsoft Access 项目 (.adp)。

下表比较了 Microsoft Visual Basic for Applications (VBA) 和 Microsoft SQL Server Transact-SQL 中的常用函数。有关 Transact-SQL 标量函数的详细信息,请参阅 SQL Server 文档。

注意   “升迁向导”将下列 VBA 函数(用于表有效性规则、字段验证和默认情况下)转换为对等的 Transact-SQL 函数。

字符串函数

VBA 函数       Transact-SQL
               标量函数 
------------------------------------------------
Asc(x)         ASCII(x) 
Chr$(x)        CHAR(x) 
Lcase$(x)      LCASE(x) 
               LOWER(x)
Len(x)         DATALENGTH(x) 
Ltrim$( x)     LTRIM(x) 
Mid$(x,y,z)    SUBSTRING(x,y,z) 
Right$(x,y)    RIGHT(x,y) 
Rtrim$(x)      RTRIM(x) 
Space$(x)      SPACE(x) 
Str$(x)        STR(x) 
Ucase$( x)     UCASE(x) 
               UPPER(x)
 

转换函数

VBA 函数       Transact-SQL
               标量函数 
------------------------------------------------
Ccur(x)        CONVERT(money,x) 
Cdbl(x)        CONVERT(float,x) 
Cint(x)        CONVERT(smallint,x) 
Clng(x)        CONVERT(int,x) 
Csng(x)        CONVERT(real,x) 
Cstr(x)        CONVERT(varchar,x) 
Cvdate(x)      CONVERT(datetime,x) 

日期函数

VBA 函数                              Transact-SQL
                                      标量函数 
------------------------------------------------
Date(x)                               CONVERT(DATETIME,CONVERT(varchar,GETDATE(x))) 
Dateadd("<Access datepart>",x,y)      DATEADD(<SQL Server datepart>, x, y) 
Datediff("<Access datepart>",x,y)     DATEDIFF(<SQL Server datepart>, x, y) 
Datepart("<Access datepart>", x)      DATEPART(<SQL Server datepart>, x) 
Day(x)                                DATEPART(dd,x) 
Hour(x)                               DATEPART(hh,x) 
Minute(x)                             DATEPART(mi,x) 
Month(x)                              DATEPART(mm,x) 
Now(x)                                GETDATE(x) 
Second(x)                             DATEPART(ss,x) 
Weekday(x)                            DATEPART(dw,x) 
Year(x)                               DATEPART(yy,x) 

数学函数
VBA 函数          Transact-SQL
                  标量函数 
------------------------------------------------
Int(x)            FLOOR(x) 
Sgn(x)            SIGN(x) 
Rnd(x)            ROUND(x) 

 
access911整理的其他函数
VBA 函数          Transact-SQL
                  标量函数 
------------------------------------------------
replace           replace
mid               substring
nz                isnull
iif               case ... when ... then ...
switch            case ... when ... then ...

问题:

请问在ACCESS中不支持标准SQL语句的SELECT CASE 语句吗?
比如:
select (case 小组名 WHEN '01' THEN 'FA' WHEN '02' THEN 'PRESS' END) AS 小组名 from deptinfo 


老是报错说操作符丢失,应该可以的啊!哪位高手指点指点!

 

回答:


SELECT CASE 不是标准的 SQL 语句,是 T-SQL ,MS SQL SERVER 的特例而已
在纯 ACCESS 环境可以将
select (case 小组名 WHEN '01' THEN 'FA' WHEN '02' THEN 'PRESS' END) AS 小组名 from deptinfo 


改为
select switch(小组名='01','FA',小组名='02','PRESS') from deptinfo


当然,你也可以用 IIF ,
select iif(小组名='01','FA','PRESS') from deptinfo

但是在  ASP + MDB 或者 VB + MDB 这种环境你可以用
select 'FA' from deptinfo where 小组名='01' UNION ALL select 'PRESS' from deptinfo where 小组名='02'

来完成

 

本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接

 

 
相关文章
     没有手动相关文章
     如何用VBA转换ACCESS97数据库到2000 2003 2007格式?
     新手来看:除函数以外JET SQL与T-SQL的一些明显区别
     如何实现行列的转换?有关交叉表的应用
     关于单位“缇”与“像素”的转换,以及缇与其他单位(例如:厘米)之间的转换
     如何计算两个时间间隔并转换成“N天N小时N分N秒”这样的形式?
     新手来看:如何进行二进制到六十二进制向十进制的转换?
     SQL SERVER 与ACCESS、EXCEL的数据转换
     数字转二进制文本,十进制二进制互转
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利