Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1305|回复: 1

请求VBA大人帮助

[复制链接]
发表于 2019-11-26 15:09 | 显示全部楼层 |阅读模式
本帖最后由 yshf286898 于 2019-11-26 15:43 编辑

各位大人您们好!小的不会VBA啊 苦
小的在这论坛找到下面这段代码本想试着改改参数看是否能用,可是怎么也没成功。
特请求大人帮助,谢谢!
代码它不按照给予的日期段加载,把数据库里40多万条全加载上来了。
生产计录.rar (533.47 KB, 下载次数: 1)
发表于 2019-11-26 17:09 | 显示全部楼层
QQ截图20191126165523.jpg

QQ截图20191126165633.jpg



Sub test()    '提取数据
    Dim cnn As New ADODB.Connection    '连接
    Dim RS As New ADODB.Recordset
    Dim SQL As String
    Dim tblName  '(请问这些是什么类型
    Dim dbAddr
    Dim dayu
    Dim xiaoyu
    Dim fildName
    Dim j  ''请问这些是什么类型)
    dayu = Cells(2, 9)   '2019/5/1  查询单元格日期
    xiaoyu = Cells(2, 10)  '2019/6/5   查询单元格日期

    dbAddr = ThisWorkbook.Path & "\生产数据.accdb"
    tblName = "Sheet1"
    With cnn
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        .Open "Data Source=" & dbAddr & "ersist Security Info=False;Jet OLEDB:DataBase Password=123;"
    End With


        SQL = "Select * from " & tblName & " where 订单日期>= #" & dayu & "# and 订单日期<= #" & xiaoyu & "#"
    '    SQL = "Select * from " & tblName & " where 部门 in('生技部')"    'in('生技部','aa')"


    Set RS = cnn.Execute(SQL)
    Dim sht
    Dim fildNum
    Set sht = ThisWorkbook.Worksheets("Sheet3")
    sht.Range("A4:Y1048576").ClearContents    '清除
    fildNum = RS.Fields.Count
    For j = 0 To fildNum - 1 Step 1
        fildName = RS.Fields(j).Name
        sht.Cells(3, j + 1) = fildName
    Next j
    sht.Cells(4, 1).CopyFromRecordset RS
    cnn.Close
    Set RS = Nothing
    Set cnn = Nothing
End Sub


生产计录2.rar (529.62 KB, 下载次数: 1)

评分

参与人数 1学分 +2 收起 理由
yshf286898 + 2 感谢超级版主!非常非常感谢!!!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 04:30 , Processed in 0.298740 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表