Excel实例下载
  VBA  应用教程
    数据库SQL知识
设为首页
SQL函数 - 预处理检索值的命令
作者:bengdeng | 来源:Excel吧 | 时间:2008-10-15 | 阅读权限:游客 | 会员币:0 | 【

上一篇 SQL语言教程 中我们介绍了Select的第一个子句Where,而在了解第二个子句Group By之前,我们还应该了解一下Sql提供的一些基本的SQL函数,如果你了解Excel的函数,你应该也可以从字面上了解下面5个函数的意义:

1、Sum。对检索的数值求和。

2、Avg。对检索的数据求平均值。

3、Min。求检索出数据的最小值。

4、Max。求检索出数据的最大值。

5、Count。求检索数据中非空的个数。

通过上面5个函数,我们就可以查询数据集的进行运算而获得结果,使用这些SQL函数的语法是:

SELECT 函数名(列名)  FROM 表格名

下面我们就通过一段程序,来求出进仓表中所有铅笔的进仓数量的总和,代码如下:

Sub 利用SQL函数处理进销存表数据库中的数据()
'*******************************************
'时间:2008-10-15
'作者:bengdeng
'功能:在程序文件同一目录下进销存表数据库中利用SQL函数处理的数据
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim TableName As String
Dim sSql As String
Dim tStr As String

WN = "进销存表.mdb"
TableName = "进仓表"
tStr = "铅笔"

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
                        "Data Source=" & ThisWorkbook.Path & "\" & WN
conn.Open
If conn.State = adStateOpen Then
    sSql = "Select Sum(进仓数量) As 进仓总计 From " & TableName & " Where 物品名称='" & tStr & "'"
       
    MsgBox "“" & TableName & "”中“" & tStr & "”总计进仓数量为:" & _
           conn.Execute(sSql)("进仓总计"), , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub

同样,我们也可以处理Excel文件中的数据:

Sub 利用SQL函数处理进销存表文件中的数据()
'*******************************************
'时间:2008-10-15
'作者:bengdeng
'功能:在程序文件同一目录下进销存表文件中利用SQL函数处理的数据
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim TableName As String
Dim sSql As String
Dim tStr As String

WN = "进销存表.xls"
TableName = "进仓表"
tStr = "铅笔"

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
                        "Extended Properties=Excel 8.0;" & _
                        "Data Source=" & ThisWorkbook.Path & "\" & WN
conn.Open
If conn.State = adStateOpen Then
    sSql = "Select Sum(进仓数量) As 进仓总计 From [" & TableName & "$] Where 物品名称='" & tStr & "'"
       
    MsgBox "“" & TableName & "”中“" & tStr & "”总计进仓数量为:" & _
           conn.Execute(sSql)("进仓总计"), , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub

如果你不是从第一篇 SQL语言教程 看起,你需要到http://www.excelba.com/Soft/Html/119.html 下载文件,压缩文件包含三个文件,数据库文件——进销存表.mdb与Excel文件——进销存表.xls就是保存数据的文件,而主文件.xls就是主程序文件,以后大家的代码可以添加在这个文件的新模块里,然后再运行程序代码。

之后大家就可以复制上面的代码,然后运行看一下效果,理解一下这篇文章的内容吧。介绍了SQL函数之后,下一节就可以了解Select的第二个子句——Group By。

文章录入:admin | 浏览次数:
相关评论(以下网友评论只代表其个人观点,不代表Excel吧的观点或立场)
相关信息

关于本站 | 留言本站 | 友情连接 | 后台管理
Copyright © 2005 - 2008 Excel吧 Inc. All Rights Reserved.
HxCms Ver9.0  闽ICP备06001689号
关闭此窗口