|
发表于 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入门书读一下,应该会有基本的概念.如果要请外人弄并且弄到您满意的话,恐怕怎么也得是一个小型项目了.
|
|