Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: tonytong

[已解决]SQL如何管理Excel数据

[复制链接]
发表于 2011-12-26 22:59 | 显示全部楼层
这个问题我也一直在想办法解决 单单用EXCEL VBA 允许很慢 ACCESS 好像没有一个很好的切入点 SQL水平太差 嗨 看看高手解决问题
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-12-27 10:55 | 显示全部楼层
我已上传附件了,朋友们帮忙看看,谢谢!主要问题就是各表之间的数据沟通是该用ACCESS还是SQL?
回复

使用道具 举报

 楼主| 发表于 2011-12-27 15:54 | 显示全部楼层
回复

使用道具 举报

发表于 2011-12-28 11:19 | 显示全部楼层    本楼为最佳答案   
本帖最后由 adders 于 2011-12-27 22:53 编辑
tonytong 发表于 2011-12-27 02:54
怎没人回复啊?


不好意思,我只能提供一些思路,具体的操作恐怕要根据你公司的实际情况在Access里制定合适的表格(这一步最重要).

表格建立好之后,无论用Access的Query,还是Excel直接读取Access的Table或Query数据,都是相对容易和灵活的事.

表格来说,原则就是各表之间的Relationship. 任何数据库都是Relatioanl Database,无论是Access, SQL Server, DB2, Oracle, MySQL...具体到Access来说,就是以每张表格的Primary Key和/或Foreign Key的设定来串联起多个表格.

简单举例来说,你现在的两张表:一个是单价表,其中有3个Field(or Column,或者是列),分别是:code, food, pf;还有一个营业额表,其中有四个Field:销售日期,销售员,code, quantity.这两张表就通过"code"这个Field联系起来.

比如,当你要计算当日某销售员各类食物销售额的时候,那么在Access或Excel运行一个Query,直接可以得到结果.当单价表的pf改变时,你运行Query的时候,计算自动变化.其中SQL的语句类似于当然在ACCESS中的Query图形界面也非常直观地可以设定)

SELECT a.*, b.food, b.pf, (a.quantity * b.pf) AS "Revenue"
FROM 营业额表 AS a,  单价表 AS b
WHERE a.销售日期 = Date()
AND a.销售员 = "林子英"
AND a.code = b.code;

这个结果就是一个新的7列表:销售日期,销售员,code, quantity, food, pf, Revenue,然后Record(or Row,或者是行)的结果就是林子英当日各类食物的销售额.

你看见了,营业额表在预设时,不要放pf这个Field,只需要通过code联系起单价表,当单价表中pf更新时营业额表自动会搜寻到相应code的pf!这就是为什么我说表的预设很重要,要更新的信息原则上只放在一张表内,其他表则通过各种KEY与该表相联即可.这种Relationship就完全摒弃了在Excel用Vlookup的需求了.

如果你对Access不太了解,可以找书看看,或者找一个SQL入门书读一下,应该会有基本的概念.如果要请外人弄并且弄到您满意的话,恐怕怎么也得是一个小型项目了.


回复

使用道具 举报

 楼主| 发表于 2011-12-28 14:37 | 显示全部楼层
非常感谢adders如此详细的回复!这个思路是正确的,ACCESS我只是了解部份,但我会在你的指点下深入琢磨,一定能实现的!
回复

使用道具 举报

发表于 2013-4-27 08:38 | 显示全部楼层
{:35:}继续学习{:912:}
回复

使用道具 举报

发表于 2014-1-27 22:06 | 显示全部楼层
学习了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-7 22:56 , Processed in 0.110124 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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