EXCEL版本2010,

引用

Private Sub CommandButton1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set Cnn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Dim connstr
Dim sql
Dim bt
Dim et
Dim bno
Dim sht As Worksheet

connstr = "Provider=sqloledb;Server=172.16.10.20\wincc;Database=KMTC;Uid=sa;Pwd=0000;" 'This Connection String must be remembered for a long period.
conn.Open connstr
bt = Range("B1").Value
et = Range("D1").Value
bno = Range("G1").Value
sql = "SELECT '" & bt & "到" & et & "' as savedate ,[Materials_Name]" & vbNewLine & _
"    ,sum([Save_Weight]) as settedWeight" & vbNewLine & _
"      ,sum([PV_Weight]) as realWeight" & vbNewLine & _
"  FROM [KMTC].[dbo].[Save_Weight]" & vbNewLine & _
"where save_date between '" & bt & "' and '" & et & "'"
If bno <> Empty Then
sql = sql & " and [Batch_Number] = '" & bno & "'"
End If
sql = sql & "group by [Materials_Name]"
rs.Open sql, conn
i = 4
Set sht = ThisWorkbook.Worksheets("sheet3")
For j = 4 To 30
    sht.Cells(j, 1) = Empty
    sht.Cells(j, 2) = Empty
    sht.Cells(j, 3) = Empty
    sht.Cells(j, 4) = Empty
    sht.Cells(j, 8) = Empty
    sht.Cells(j, 9) = Empty
    sht.Cells(j, 10) = Empty
Next

Do While Not rs.EOF
    sht.Cells(i, 1) = rs("savedate")
    sht.Cells(i, 2) = rs("Materials_Name")
    sht.Cells(i, 3) = rs("settedWeight")
    sht.Cells(i, 4) = rs("realWeight")
    rs.MoveNext
    i = i + 1
Loop
rs.Close

sql = "SELECT [Batch_Number]" & vbNewLine & _
"      ,sum([Save_Weight]) as settedWeight" & vbNewLine & _
"      ,sum([PV_Weight]) as realWeight" & vbNewLine & _
"  FROM [KMTC].[dbo].[Save_Weight]" & vbNewLine & _
"where save_date between '" & bt & "' and '" & et & "'" & vbNewLine & _
"group by [Batch_Number]"
rs.Open sql, conn
i = 4
Do While Not rs.EOF
    sht.Cells(i, 8) = rs("Batch_Number")
    sht.Cells(i, 9) = rs("settedWeight")
    sht.Cells(i, 10) = rs("realWeight")
    rs.MoveNext
    i = i + 1
Loop
rs.Close
conn.Close
End Sub

好吧,还有一些excel的数据有效性的设定。

先记什么多。

VBA访问SQLSERVER2005筛选数据库的更多相关文章

  1. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  2. SQLServer2005+附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    SQLServer2005+ 附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 我们在用Sql SQLServer2005+附加数据库文件时弹出错误信息如下图的处理办法: 方案一: ...

  3. [经使用有效]Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  4. Excel中使用VBA访问Access数据库

    VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...

  5. .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

    今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...

  6. 如何让用户只能访问特定的数据库(MSSQL)

    背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server ...

  7. 11月7日下午PHP----PDO访问方式操作数据库

    MySQLI是专门访问MySQL数据库的,不能访问其它数据库.PDO可以访问多种的数据库,它把操作类合并在一起,做成一个数据访问抽象层,这个抽象层就是PDO,根据类操作对应的数据库.mysqli是一个 ...

  8. 通过 SQL Server 视图访问另一个数据库服务器表的方法

    今天项目经理跑过来对我大吼大叫说什么之前安排让我做一大堆接口为什么没做,我直接火了,之前明明没有这个事情…… 不过事情还要解决,好在两个项目都是用的sqlserver,可以通过跨数据库视图来快速解决问 ...

  9. Sliverlight linq中的数组筛选数据库中的数据

    首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特 ...

随机推荐

  1. spring事务的传播特性

    所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在 ...

  2. 重新组织 vs 重新生成索引

    索引是数据库引擎中针对表(有时候也针对视图)建立的特别数据结构,用来帮助查找和整理数据.索引的重要性体现在能够使数据库引擎快速返回查询 结果.当对索引所在的基础数据表进行修改时(包括插入.删除和更新等 ...

  3. 基于html5 canvas和js实现的水果忍者网页版

    今天爱编程小编给大家分享一款基于html5 canvas和js实现的水果忍者网页版. <水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版 ...

  4. Java最重要的21个技术点和知识点之JAVA集合框架、异常类、IO

    (三)Java最重要的21个技术点和知识点之JAVA集合框架.异常类.IO  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享 ...

  5. CSU OJ PID=1514: Packs 超大背包问题,折半枚举+二分查找。

    1514: Packs Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 61  Solved: 4[Submit][Status][Web Board] ...

  6. C++-copy constructor、copy-assignment operator、destructor

    本文由@呆代待殆原创,转载请注明出处. 对于一个类来说,我们把copy constructor.copy-assignment operator.move constructor.move-assig ...

  7. 【谷歌市场安装】Google Play 闪退问题解决

    Google Play 安装后闪退,是因为手机没有内置GMS(Google Mobile Service) 框架. 由于谷歌退出了中国市场,国产手机很多都没有内置GMS, 导致Google Play ...

  8. PHP trim()函数的一些用法

    string trim ( string $str [, string $charlist ] ) - 去除字符串首尾处的空白字符(或者其他字符) trim()函数当第二个参数为空时,默认去掉空格.制 ...

  9. 典型的字符串处理代码(page50)

    Page50: public class TypicalString{//典型的字符串处理代码 public static boolean isPlalindrom(String s){//判断字符串 ...

  10. 怒刷DP之 HDU 1069

    Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...