加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用VBA连接到另一个excel数据库的ADO方法

(2010-01-06 00:36:40)
标签:

杂谈

分类: VB、VBA

Sub AdoCon()
    Dim X As Long
    Dim conn As ADODB.Connection
    Dim Sql As String
   
    X = [a65536].End(xlUp).Row + 1
    Range("A2:G" & X).ClearContents
   
   打开一个EXCEL工作簿
    Set conn = CreateObject("adodb.connection")
    conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.Path & "\数据库.xls"
    
    完成一个汇总任务,并将结果放入第一个工作表中
    Sql = "select 姓名,部门,count(月份),SUM(金额)  from [奖金表$] GROUP BY 姓名,部门"
   Worksheets("sheet1").Select
   [a2].CopyFromRecordset conn.Execute(Sql)
    Worksheets("sheet1").[a2].CopyFromRecordset conn.Execute(Sql)
   
   完成另个汇总任务,并将结果放入第二个工作表中。
    Sql = "select 姓名,部门,count(月份),SUM(金额)  from [奖金表$] where 部门='综合部' GROUP BY 姓名,部门"
   Worksheets("sheet2").Select
   [a2].CopyFromRecordset conn.Execute(Sql)
    Worksheets("sheet2").[a2].CopyFromRecordset conn.Execute(Sql)

    '关闭打开的EXCEL工作簿,释放内存。
    conn.Close
    Set conn = Nothing
   
End Sub

=============================================================================

Private Sub cmdTest_Click()
    Dim Cnn As New ADODB.Connection
    Dim Rst As New ADODB.Recordset
    Dim strPath As String
    Dim strSQL As String
    strPath = ThisWorkbook.Path & "\数据库.xls"
   打开一个EXCEL工作簿
    Cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & strPath
        strSQL = "Select * From [奖金表$]"
        Rst.Open strSQL, Cnn
            Me.txtTest.Text = Rst.Fields(0)
           Do
               Me.lstTest.AddItem Rst.Fields(1)
               Rst.MoveNext
           Loop Until Rst.EOF = True
           
          Me.lstTest.Text = Rst.Fields(1)
            Me.cmbTest.Text = Rst.Fields(2).Name
           
           Do
               Me.cmbTest.AddItem Rst.Fields(2).Value
               Rst.MoveNext
           Loop Until Rst.EOF = True
           
        Rst.Close
    '关闭打开的EXCEL工作簿,释放内存。
    Cnn.Close
    Set Cnn = Nothing
End Sub

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有