ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3881|回复: 13

[已解决] 求助excel根据条件读取和写入数据库

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-19 19:06 | 显示全部楼层 |阅读模式
本帖最后由 songzi2000 于 2014-12-22 11:02 编辑

各位高手、老师、大侠    小女子当前遇到了一个数据库问题,因为以前从没有做过数据库相关的,所以现在不知所措了,事情的原因是这样的,由于excel表格存放太多的数据电脑就会卡,而且速度很慢,我只能想到将数据存放到数据库中,当需要看哪儿的时候只需要选择即可读取数据的内容,还请各位帮帮我,感激不尽,我也算是论坛的忠实粉丝和学习者了


实现结果为
读取功能:当N1单元格数据为12nei的时候,点击【获取数据】,sheet(nei)表格的内容将会读取数据库12nei的内容,并在sheet(nei)表中显示出来

写入功能:当想把sheet(nei)表的12月份(nei表中有12月)内容保存时候,首先会判断数据库有没有12nei,如果有,就提示是否覆盖,如果没有则新建12nei表格,并将sheet(nei)表格的内容保存到数据库中去


小女子在这里谢谢辛苦的各位老师了

具体看附件
求助excel根据条件读取和写入数据库.zip (990.7 KB, 下载次数: 40)




该贴已经同步到 songzi2000的微博

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-19 19:37 | 显示全部楼层
没有人帮忙吗,在线等,一直等到23点,希望有老师帮帮忙,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-19 19:56 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-19 20:49 | 显示全部楼层
我在网上找了一个样例,希望老师帮我改造改造,改造成我需要的,非常感激
Private Sub CommandButton1_Click()
Cells.ClearContents
With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSN=MS Access Database;DBQ=" & ThisWorkbook.Path & "\db1.mdb;;;UID=admin;PWD=123", Destination:=Range("A1"))
        .CommandText = "SELECT * FROM yo"
        .Refresh BackgroundQuery:=False
    End With
End Sub

Private Sub CommandButton2_Click()
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase(ThisWorkbook.Path + "\db1.mdb ", False, False, ";Pwd=123")

db.Execute ("delete * from yo")

For i = 3 To [a2].End(xlDown).Row
Sql = "INSERT INTO yo(name,sex) values ('" & Cells(i, 1) & "','" & Cells(i, 2) & "')"
db.Execute (Sql)

Next
MsgBox "D′èëêy¾Y" & [a2].End(xlDown).Row - 1 & "DD"
End Sub


TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-20 09:12 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-20 10:24 | 显示全部楼层
为什么我的帖子一个人都不帮忙,这是怎么了

TA的精华主题

TA的得分主题

发表于 2014-12-20 10:41 | 显示全部楼层
songzi2000 发表于 2014-12-20 09:12
没有老师帮助我吗,难道这个问题很难吗

首先你应该将工作表中除有用的数据区域外的所有空行或空列的各种格式或其它删除,保证电子表格清爽.
你的要求可以不用代码轻松解决:
1.可以根据要求直接在Access中建立数据库,然后可以在Excel表格中用"数据"导入数据库数据.
2.如果要将电子表格数据导入Access数据库,也很简单.打开Access,可新建库或直接在原库中追加电子表格数据.
不要把数据库想得太复杂,就像使用excel一样去使用Access数据库吧.

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-20 11:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
liu-aguang 发表于 2014-12-20 10:41
首先你应该将工作表中除有用的数据区域外的所有空行或空列的各种格式或其它删除,保证电子表格清爽.
你的 ...

谢谢老师指导,我之前做的都是函数和简单的VBA,从没有接触这么复杂的,数据库这些更别说了
1.可以根据要求直接在Access中建立数据库,然后可以在Excel表格中用"数据"导入数据库数据.
因为有很多分表,我想一下子全部写入到表格中去,我这个表格我想专门用来作分析的,这样的话我想看哪张表格,我就直接的读取
2.如果要将电子表格数据导入Access数据库,也很简单.打开Access,可新建库或直接在原库中追加电子表格数据.
不要把数据库想得太复杂,就像使用excel一样去使用Access数据库吧
access这个软件我一次都没有使用过,这次也是实在没办法,所以我到论坛求助了,另外我也想提升下自己,主要是没有开这个头,谢谢!

TA的精华主题

TA的得分主题

发表于 2014-12-20 19:03 | 显示全部楼层
songzi2000 发表于 2014-12-20 11:03
谢谢老师指导,我之前做的都是函数和简单的VBA,从没有接触这么复杂的,数据库这些更别说了
1.可以根据要 ...

1.自动建立的是.accdb数据库.需要安装Access 2007以上版本.
2.数据工作表名必须与N1单元格输入的工作表名一致.
3.注意在ABE中引用access xx.0 项和Ado2.8.
abcd.rar (33.26 KB, 下载次数: 80)

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-22 10:06 | 显示全部楼层
liu-aguang 发表于 2014-12-20 19:03
1.自动建立的是.accdb数据库.需要安装Access 2007以上版本.
2.数据工作表名必须与N1单元格输入的工作表名 ...

老师,你真的是太牛了,太崇拜你了,你是怎么做到的,能否指点我从哪儿入门呀,有没有相关教程或者资料,我数据库一点也不会,我得自己学学
  另外在此非常感谢你,做这个辛苦你了,应该耽搁了很多时间,以后来上海我请你吃饭,真是太感谢了

点评

有了一点VBA基础后,可以根据需要选择学习.知识太多不可能把每个问题都学到.F1和F8键是最好的老师!! 吃饭嘛得打飞的去呀.  发表于 2014-12-22 10:29
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 18:43 , Processed in 0.028882 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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