在日常ERP系统实施过程中,往往会遇到客户的一些个性化需求,比如有些客户习惯用Excel电子表格来查看ERP系统中的数据,业余拓展学习了一下,借助ODBC可以实现这个需求。
下面以Win10+MS Office 2019增强版+SQL Server 2008 R2的环境详细介绍一下实现过程:
一、ODBC数据管理和SQL数据库之间的连接的建立
进入控制面板—管理工具—ODBC数据源(64位),点击进入界面如下:
点击“添加”按钮,出现如下界面,选择“SQL Server”,点击完成;
在“名称”一栏中输入方便记忆的连接数据源名称,本示例为“Kingdee”,“服务器”一栏中输入你所要连接的具体的服务器名称,可以点击右侧向下三角图标选择,也可以直接输入,本示例中以本机为例。
点击下一步,进入如下界面:
按照图示选择,输入数据库用户名“sa”及密码。点击下一步继续:
系统默认数据库为“master”,在这里我们需要更改成我们需要实现取数的那个数据库名称,本示例中以“KIS_Sample”为例,点击下一步,继续:
该页面为默认,无需更改,直接点击完成按钮即可。你可以使用系统自带的测试功能,测试一下连接是否成功。
点击“确定”,到这里ODBC数据管理和SQL数据库之间的连接就建立起来了。接下来我们就要通过EXCEL来实现通过数据库取数了。二、Excel 2019访问SQL数据库
接下来我们打开EXCEL,本示例中以office2019作为示范,进入Excel,点击“数据”-“获取数据”-“其他来源”下拉菜单中的“Microsoft Query”,点击进入如下图:
选择我们刚刚新建的“Kingdee*”数据库,点击确定:
这里你选择需要查询的表,可以是单个表,可以是多个表,单个表的话,比较简单,这里就不再赘述,主要讲讲多个表的组合查询。当你选择左侧的表时,点击箭头后右侧会显示该表的所有列信息,这时候,你可以对所选的列中不需要的进行去除,同样使用箭头功能即可实现。我们在这里选择的是“ICStockBill(单据表头)”,接下来再选择“ICStockBillEntry(单据表体)”和“t_ICItem(物料表)”,接下来我们就开始来对这些表之间建立连接关系。 点击下一步。
此时系统出现如下提示:
因为我们选择了几个表,系统不知道他们之间的关联关系,所以接下来,只有通过我们手工来连接了,点击确定继续:
通过手工直接找到关联的内码,进行拖拽,建立表与表之间的关联关系:
如果你会写SQL查询语句的话,也可以在该界面中直接修改或者填入语句,以实现对数据库的查询,这里的语句和SQL中查询分析用到的语句没什么两样,举例如下:
确定后,我们可以直接看到查询的效果如下:
点击图示菜单“将数据返回到Excel”,
我们来看看在EXCEL中的效果吧:
这时候我们的工作还没结束,因为我们想得到的数据需要能够和数据库的信息同步更新的,此时还需要对该连接进一步设置才能实现,接下来我们按照如下图示点击进入:
系统默认刷新频率为“60分钟”,我们可以根据实际需要更改时间。如果以后需要对需要查询的内容进行调整的话,可以直接在上图中点击“定义”,在命令文本中对语句直接进行修改或者进入到Microsoft Query进行修改。