将 MS Access 报告转换为 SQL Server 报告

Posted

技术标签:

【中文标题】将 MS Access 报告转换为 SQL Server 报告【英文标题】:Convert MS Access Reports to SQL Server Reporting 【发布时间】:2011-08-29 17:35:03 【问题描述】:

我在 MS Access 中有一堆旧报告,我想转移到 SQL Server。

这可能吗?需要采取哪些步骤?

【问题讨论】:

SQL Server 没有 Access 那样的表单和报告,您必须使用 SQL Server Reporting Services。这就是你想要做的吗? 【参考方案1】:
    确定要转换的报告 以设计模式在 MS Access 中打开报表

    获取报告的旧副本或通过 MS Access 运行报告(作为制作 s-s-rS 报告的基础) 打开报告属性并找到报告使用的记录源:qry_Intermediary_Summary

    转到查询选项卡并右键单击查询并选择设计视图:

    右键单击并选择 SQL 视图

    将 MS Access SQL 复制到 SQL Management Studio 中

    编辑 MS Access SQL,使其与 SQL Server 兼容: 保留 SQL 关键字的转义列名(例如 GROUP) 用单引号代替双引号 确保表/视图存在 删除美元符号 将 Trim(...) 转换为 LTrim(RTrim(...))) 等

    当查询使用嵌套查询时,我们需要将它们转换为存储过程并将数据加载到临时表中。例如

此 SQL 使用 3 个嵌套查询:

qryTopStocks qryTopStocksBuys qryTopStocksSells​

我们无法查询返回表的函数,因为函数不支持 ORDER BY 我们无法将查询转换为视图,因为视图不接受参数

所以我们必须将查询转换为存储过程:

然后在我们的数据集中,我们将存储过程执行到我们可以加入的临时表中:

    一旦您有了查询并且它以 MS Access 的形式返回准确的结果(查看旧报告进行检查),那么我们就可以创建一个新报告。

我使用了 MS Access 到 s-s-rS 的转换工具。它设法获得了 MS Access 报告设计,但无法提取数据。这些 s-s-rS2005 版本报告在目录 AAA 中。将您要转换的报告从 AAA 文件夹复制到 BBB 项目文件夹中。

将旧的s-s-rS2005报告导入BIDS/s-s-rS2016:

选择所有控件并将它们复制到新的 s-s-rS2016 报告中。然后从项目中删除 s-s-rS2005 报告。您只需要复制保留设计、字体和样式的控件即可。

    在 BIDS 中,将所有控件映射到 DataSet 中的字段。​

更新:我刚刚发现了这个,它很有帮助:https://www.databasejournal.com/features/msaccess/article.php/3705151/Converting-Access-Queries-to-SQL-Server.htm

这是对链接 dB 的 MS Access 查询与 SQL Server 查询的一个非常好的解释

https://www.mssqltips.com/sqlservertip/1482/microsoft-access-pass-through-queries-to-sql-server/

【讨论】:

以上是关于将 MS Access 报告转换为 SQL Server 报告的主要内容,如果未能解决你的问题,请参考以下文章

将 MS-Access 数据库转换为 SQL 脚本的工具

将 MS Access 报告导入 C#

如何在 MS Access 2007 或 MS SQL Server 2005 中通过 SQL 将字段转换为行

MS Access 查询转换为 Sql Server

MS Access SQL 将行转换为列

将 SQL 查询转换为访问查询 - SELECT 中的 SELECT