目前用的数据库是ACCESS2010,数据库放在B电脑里,操作是在A电脑操作
目录树的NodeMouseClick事件代码如下:
DataTables("主体窗口_模式化查询表").fill("Select * Fro m {总表} c left JOIN (Select a.通码,仓位,数量+上月库存 As 当前库存 Fro m {总账} a left JOIN (Select 通码,IIF(Sum(入库数量) Is null,0,Sum(入库数量))-IIF(Sum(出库数量) Is null,0,Sum(出库数量)) As 数量 Fro m {明细表} Group By 通码) b on a.通码 = b.通码) z on c.通码 = z.通码 where c.机型='" & e.node.Text & "'","仓库数据源",True)
就是每次单击时,都要计算,速度极慢,{总表}有2万多行,其他表有几千到1万行都有,如果把数据库放在A电脑里,单击目录树后,数据显示就很快,如果把数据库放在B电脑里,建立内部局域网,用无线连接,A电脑操作起来很卡,数据刷新很慢。
请问该代码效率上,还能如何优化?或是有什么方法也可以做的多表统计和计算,速度极快。
现在想到,打开软件后,把各个表格的统计和需计算的数据都,加载在本地A电脑里,然后在用A电脑里加载好数据,来计算出所需的数据。