科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB中SQL合计函数的使用

VB中SQL合计函数的使用

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文较为详细地讨论了如何在VB中使用SQL合计函数,并给出了实例。

作者:wyh 来源:论坛 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
4 使用SQL合计函数的实例

  在该实例中,将创建一个简单的数据库应用程序,可以浏览数据表salary中的各记录,并在状态栏中显示相关数据。

  在窗体上放置一个DBGrid控件(需加载Microsoft Data Bound Grid Control)、一个状态栏控件(需加载Microsoft Windows Common Controls 6.0)、一个Data控件和一个按钮控件,如图2所示。各对象的属性设置如表1所示。



  编写代码如下:

Private Sub Command1_Click()
 Dim query As Recordset
 Dim numofpeople As Integer, maxage As Integer, minage As Integer
 Dim avgsalary As Single, totalsalary As Single
 Set query = Data1.Database.OpenRecordset("SELECT COUNT(*) as num, MAX(年龄) as maxa," _
& "MIN(年龄) as mina, AVG(工资) as avgs, SUM(工资) as sums FROM salary ")
 numofpeople = query.Fields("num") .Value
 maxage = query.Fields("maxa") .Value
 minage = query.Fields("mina") .Value
 avgsalary = Format(query.Fields("avgs") .Value, "0.00") ' 结果保留两位小数
 totalsalary = query.Fields("sums") .Value
 StatusBar1.Panels(1).Text = "人数:" & numofpeople
 StatusBar1.Panels(2).Text = "最大年龄:" & maxage
 StatusBar1.Panels(3).Text = "最小年龄:" & minage
 StatusBar1.Panels(4).Text = "平均工资:" & avgsalary
 StatusBar1.Panels(5).Text = "工资总额:" & totalsalary
End Sub

  运行该程序,表salary中记录内容显示在DBGrid控件中,点击"显示状态栏"按钮,则状态栏中显示各相关数据,如图3所示。



  在引用这些动态字段变量时,也可通过索引号来进行,如query.Fields(0)与query.Fields("num")等价。

  VB在对合计函数的使用方式上也灵活多样,例如通过以下代码也可达到同样目的:

Data1.RecordSource = "SELECT COUNT(*) as num, MAX(年龄) as maxa, MIN(年龄) as mina, " _
& " AVG(工资) as avgs, SUM(工资) as sums FROM salary "
Data1.Refresh
numofpeople = Data1.Recordset.Fields("num") .Value
maxage = Data1.Recordset.Fields("maxa") .Value
minage = Data1.Recordset.Fields("mina") .Value
avgsalary = Format(Data1.Recordset.Fields("avgs") .Value, "0.00")
totalsalary = Data1.Recordset.Fields("sums") .Value

  5 结束语

  从前面的介绍可以看出,使用合计函数方便直观、简化程序。我们甚至还可以利用StDev、StDevP、Var、VarP等合计函数来简化数据统计中标准偏差和方差的计算,充分发挥这些函数的作用。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章