Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从Access数据库中的表数据生成联机报告?_Php_Ms Access_Report - Fatal编程技术网

Php 如何从Access数据库中的表数据生成联机报告?

Php 如何从Access数据库中的表数据生成联机报告?,php,ms-access,report,Php,Ms Access,Report,你好! 我不熟悉使用PHP进行web开发,我打算将Access数据库分为(桌面:表格和表单)和(服务器端:报表PDF格式)。 我想使用access数据库在桌面上以脱机模式通过表单将数据存储到表中,但当用户需要这些数据表中的一些报告时;数据应发送到服务器,以便在服务器端生成报告,以便在桌面应用程序中查看。 怎么可能呢?请指导我。好吧,您可能希望将数据移动到sql server,因为这在网站上发挥了更好的作用。您可以保持现有的access数据库“原样”,只需很少的更改,access中的所有表单/报表

你好! 我不熟悉使用PHP进行web开发,我打算将Access数据库分为(桌面:表格和表单)和(服务器端:报表PDF格式)。 我想使用access数据库在桌面上以脱机模式通过表单将数据存储到表中,但当用户需要这些数据表中的一些报告时;数据应发送到服务器,以便在服务器端生成报告,以便在桌面应用程序中查看。
怎么可能呢?请指导我。

好吧,您可能希望将数据移动到sql server,因为这在网站上发挥了更好的作用。您可以保持现有的access数据库“原样”,只需很少的更改,access中的所有表单/报表和代码都将一如既往地工作

然后,您当然需要一个web服务器。但是,如果要在web服务器上呈现报表,那么采用某种报表编写器或工具来构建并创建报表网站,而不必为每个报表编写代码,这是非常有意义的。(手工编写包含一行行数据的HTML实在太老套了,而且太耗时了

因此,作为第一步,我将把access“后端”表迁移到某个服务器版本

所以,无论你使用什么工具,你都应该采用一套工具,让你成为某种报告编写者

由于我的VBA技能,我采用了vb.net和Visual Studio(express)的免费版本。我发现编码和方法与Access类似

因此,以Access中开发的典型报告(使用向导)和一些布局为例,您会得到如下报告:

现在,为了将其重新生成为网页,我创建了web表单,并将其放入reportviewer。按照向导操作,结果如下:

上面没有代码。web向导实际上生成了“+”符号来展开和收缩如下部分:

现在,我并不在乎你采用什么平台,但采用SQL reporting services,甚至是免费的Visual studio,我在几分钟内就在其中构建了上述web表单,这真是太好了。所有用户都可以将上述报表作为excel、word甚至PDF格式使用(同样,你不想编写代码)

因此,我建议将数据移动到SQL server,但公平地说,上述来自Visual Studio的报告和工具在使用accDB文件时也会工作得很好,但一旦数据“进入”sql server,使用基于web的技术不仅会减少麻烦,而且您将打开更多选项。因此,例如,您可能没有web服务器,而选择Azure。同样,您可以/可以保留现有的access前端,但一旦数据库位于Azure上,则您的access前端和云托管网站都将保留将从同一个数据库工作

那么,是开发工具“x”还是“y”

一定要采用一些报告工具,因为如果有好的网络报告工具存在,手工拼凑报告会有太多的工作和麻烦


因此,您不能真正使用Access来创建或构建web报表。但是,通过让web站点和Access都使用一个公共数据库,那么您在web站点上的所有工作都不是应用程序代码,而是构建一些web报表,并将web服务器公开给您的内部网络。结果是,任何人都可以使用报表,甚至可以使用报表那些没有访问权限的数据库。

我个人使用FinePort,这是一种报告工具。虽然我的数据库是MySql,但我认为它支持访问,因为我记得它支持几乎所有主流数据库,你可以在它的网站上查看:[www.finePort.com/en][1][1]:

它有一个名为“计划”的功能,您可以根据频率或条件自动触发任务。这样,您可以设置将任务推送到平台,并在服务器打开时生成报告