Excel精英培训网

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

用 VBA 直接查询数据库

[复制链接]
发表于 2017-8-18 16:14 | 显示全部楼层 |阅读模式
各位老师们。能帮我把数据库的查询条件用VBA实现吗,现在每次我都需要到图示之处改开始日期和结束日期,我希望能在Excel表格中直接让我打入开始和结束日期,然后按个键查询就好。若有更棒的做法也行。。。。注意:开始和结束日期每次查询都需更改,其他不变, ODBC链接都是好的。
謝謝!

Snap0261.jpg 范例.zip (28.16 KB, 下载次数: 32)
 楼主| 发表于 2017-8-19 10:08 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-8-20 09:11 | 显示全部楼层
回复

使用道具 举报

发表于 2017-8-20 12:29 | 显示全部楼层
你这个图片想说明什么情况?
回复

使用道具 举报

 楼主| 发表于 2017-8-21 14:00 | 显示全部楼层
hjxlj 发表于 2017-8-20 12:29
你这个图片想说明什么情况?

图片里就是我现在用的方式,ODBC 已经建好了,之后从EXCEL里,在 Comment Text 打入需要的时间段,图示里就是以 opendate 为条件,查询 8/1 到 12/31 的数据。我希望这个部分能在EXCEl 里用VBA实现,也就是不再需要在那视窗中输入,而是直接让我在表格里或是甚至一个表单输入开始和结束日期,然后按个键查询就好。

回复

使用道具 举报

 楼主| 发表于 2017-8-23 12:01 | 显示全部楼层
难道没人帮忙?我自己继续顶上
回复

使用道具 举报

发表于 2017-8-23 13:45 | 显示全部楼层
看看是不是这个效果

范例111.rar

34.51 KB, 下载次数: 15

回复

使用道具 举报

发表于 2017-8-23 15:01 | 显示全部楼层

稍微修改了一下,这个用着比较方便,你的意思是不是就是根据时间进行筛选数据吧?

范例111.rar

12.76 KB, 下载次数: 32

回复

使用道具 举报

 楼主| 发表于 2017-8-23 17:22 | 显示全部楼层
xingkongwubian 发表于 2017-8-23 15:01
稍微修改了一下,这个用着比较方便,你的意思是不是就是根据时间进行筛选数据吧?

感谢支持,不过我一打开就报错说 Macro 可能受損而被移除了。。。。,所以我打開后只看到你新增的按键
另外,是的,我主要就是想根据openDate 来查询数据。。。麻烦你了!




回复

使用道具 举报

发表于 2017-8-23 23:26 | 显示全部楼层
本帖最后由 xingkongwubian 于 2017-8-23 23:36 编辑

easternpig 发表于 2017-8-23 17:22
感谢支持,不过我一打开就报错说 Macro 可能受損而被移除了。。
把下面代码复制进去就行,日期输入格式为“2017/8/1”,前提需要Excel启用宏才行,保存时也要保存为启用宏的Excel表
  1. Private Sub CommandButton1_Click()
  2. Dim x, y, i As Date, j As Date
  3. Rows.Hidden = False
  4. i = InputBox("请输入开始日期")
  5. j = InputBox("请输入结束日期")
  6. k = Cells(Rows.Count, 7).End(3).Row
  7. For x = 2 To k
  8.     If Cells(x, 7) < i Or Cells(x, 7) > j Then
  9.     Rows(x).Hidden = True
  10.     End If
  11. Next x
  12. End Sub
复制代码


复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 18:10 , Processed in 0.171080 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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