javaee根据数据生成信息分布图_根据工作表中的数据,生成数据库中新的数据表的方法...

本文介绍如何通过VBA将Excel工作表中的销售数据导入到Access数据库,以实现更高效的数据管理和查询。作者指出,尽管Excel可以存储数据,但大量数据时操作不便且易出错,因此推荐使用数据库。文章提供了一段VBA代码示例,展示了如何创建一个新数据表并将工作表数据转移到该表中。
摘要由CSDN通过智能技术生成

大家好今日我们继续讲解VBA数据库解决方案的第22讲:如何利用工作表数据,生成数据库新的数据表。在之前的讲解中我们讲了很多把数据从数据表中导出到工作表的方法,今日我们讲解如何把数据由工作表存储到数据库中的数据表。为什么要有这样的操作呢?我们举个实例:如果您是一个部门的销售人员,每月的销售数据是一个EXCEL表格,如果可以把这些数据放到数据库中,这样会更方便的实现查找和统计。

为什么要借助数据库呢?EXCEL不可以吗?当然,理论上是可以的,但实际不推荐。为什么呢?把数据保存在EXCEL中,容易误操作,而且当数据量大的时候,EXCEL的操作远比数据库操作要慢。这是我多年工作经验的体会。所以我们在学习的时候,该更新自己知识结构的要及时更新。比如有的朋友的EXCEL还是2003版本的甚至是2000版本的,还是建议你尽快的升级吧。

言归正传,我们还是研究如何实现上述的逆运算的过程。实例:在我的EXEL表格中有一份19年2月份的销售记录,我要新建立一个数据表保存它。EXCEL工作表内容如下截图:

1d49b06be090cf033239685020b75ba8.png

导入的数据表名称为"19年销售情况",下面我们看看如何能实现这个过程。

由于可能的方法很多,我要一个一个的给大家讲解,或许有的朋友会说,怎么不用什么方法啊?对的,你的方法也可以,或许我在后续的文章中会讲到你的方案,不要紧,先看我的思路:

代码:

Sub mynzCreateDataTable() '将工作表生成新数据表

Dim cnADO, rsADO As Object

Dim strPath, strSQL, strTable As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "mydata2.accdb"

strTable = "19年销售情况"

cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

Set rsADO = cnADO.OpenSchema(20, Array(Empty, Empty, strTable, Empty))

'如果存在这个数据表,那么删除

If Not rsADO.EOF Then

strSQL = "DROP TABLE " & strTable

cnADO.Execute strSQL

End If

'按工作表创建数据表

strSQL = "SELECT * INTO " & strTable _

& " FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & ";].[" & ActiveSheet.Name & "$]"

cnADO.Execute strSQL

MsgBox "已经将工作表数据生成新数据表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值