Excel / Access的替换或迁移策略

时间:2009-11-30 08:16:41

标签: excel ms-access migration

有没有一种方法可以提供最终用户喜欢的Excel / Access开发灵活性,同时灌输集中式IT管理,使数据和逻辑安全,备份,版本控制等等。常见的选择是用C#重写ASP.Net/Java/Python/Your Choice,但这会夺走用户的控制权。有没有更好的方法,你在你的网站做什么?

用户普遍存在创建非常有用的Excel / Access迷你应用程序的问题,而IT部门希望这些应用程序能够得到控制。用户喜欢Excel提供的灵活性,特别是在即时更改,图形和数据导入/导出方面。在Access中,我们拥有出色的QBE。缺点是,经过一段时间后,大量失控的电子表格/ mdbs是关键任务,业务逻辑很难理解,代码很脆弱,特别是当员工继续前进时,他们很难得到支持。

这使得IT部门处于一个尴尬的境地,他们想支持这些应用程序,但对这些应用程序知之甚少。这变得更加困难,因为它们通常不安全,零文档。

8 个答案:

答案 0 :(得分:6)

一直走在围栏的两边,我会追究问题的根本原因。为什么使用自己的小应用程序?因为它太硬/昂贵/耗时/当它们通过“适当的”通道时永远不会正确。

另一件事是他们倾向于非常了解业务,所以他们的编码可能不是很好,他们对需要做什么的了解非常好。

那么我们可以做些什么来解决这个问题呢?我个人认为他们应该是IT团队中的一个小团队,他们的工作(或他们的工作之一)就是开发这些小应用程序。他们应该与最终用户密切合作,而不是被锁定在IT的象牙塔中。

在我目前的角色中,我处于非IT界面,我有一些非常重要的应用程序需要开发,所以我要求在SQL服务器上安装visual studio和一些空间。我的请求被拒绝了。所以我只是要求SQL服务器空间,再次请求被拒绝(每个请求需要大约一个星期才能通过)所以最后我“卡住”访问。

现在这些是带有版本控制的非常好的访问应用程序,在(震撼!)和所有其他好东西中的评论但是在一天结束时我试图以“正确”的方式做事并最终被迫沿着访问路线。所以,当我的应用程序试图扩大规模并且我引用了很长时间来重写谁应该受到指责?

答案 1 :(得分:4)

您可以尝试一种混合方法:允许您的用户使用Excel / Access来自行酿造他们自己的专用工具,但需要使用关键任务并将其置于IT控制之下。有一些策略可以帮助您解决这个问题:

  • 确保您的IT部门坚持VBA。不是“是的 - 每个人都可以写一些基本的基础知识”类型的知识,而是深入的培训,就像你不太简单的编程语言一样。虽然“真正的程序员”会告诉你,但 可以在VBA中编写大而稳定的应用程序。
  • 如果您当前在Access数据库中有数据,请远离它并将其迁移到SQL Server。这使您可以进行集中备份和管理,同时仍然可以让高级用户灵活地将这些SQL Server表“链接”到他们的Access前端。
  • 常用的业务逻辑应该由您的IT部门控制。这可以通过VBA,通过创建由用户链接的Access库,或使用COM interop在任何.net语言中完成。后者听起来比实际上更复杂,并且它会提高您的IT部门的满意度,因为.net中的开发比VBA(版本控制可能等)更有价值。

答案 2 :(得分:4)

您是否考虑过将SharePoint用于部门级应用程序?许多专业开发人员都不愿意将Sharepoint用于“应用程序开发”,但实际上这可能是“高级用户”开始将他们的数据和工具放在托管框架中的好方法。

使用SharePoint,您可以管理网站的整体结构,然后在各自的部门中设置具有提升权限的用户。有一些很棒的第三方工具可以帮助您密切关注SharePoint站点中发生的事情。

无论如何,SharePoint都不是一个灵丹妙药,但对于需要跟上数据列表的许多多用户应用程序来说,它是非常棒的。


(以下与我上面的回答并没有关系,但你的问题确实很受欢迎,我认为我会分享我的类似经历和见解。)

我们公司将在不久的将来经历类似的过程。我是“最终用户”方面的事情,可以同情很多Kevin Ross said。有时Access和Excel只是我完成工作的最佳工具。

以下是一个例子:几年前我被要求提出一个系统,用于为中国的供应商创建采购订单,产品的供货周期为3个月。我们的ERP软件有一些采购功能,但没有任何东西可以接近我们面临的复杂情况。多年以后,在Excel中对应用程序进行了几次迭代后(VLOOKUP是一个救生员),Access(“所以 是人们使用关系数据库的原因。太棒了!),然后又回来了Excel(“让我们不要这么复杂”),我仍然发现这些Micorosft Office应用程序是完成工作的最佳工具。

使用这些工具完成工作的成本是多少?

  • 与我们的ERP供应商签订合同,为此订购流程添加一项特殊功能:您在开玩笑吗?我们可能会花费数万美元购买一个具有可怕用户体验的不灵活的单片应用程序......我们最终还是会回到Excel中。
  • 购买专为此过程设计的第三方软件:我已经看到了一个软件的现场演示,它完全 我们的采购流程。起价为10万美元。可能有几千美元可以获得其他工具,但在这个价位上,我已经在我自己的应用程序中模拟了他们的大部分功能。
  • 尝试“手工”完成工作。 : 哈!我是一个内心的程序员,这意味着我很懒。如果需要一个坚实的一周坐在办公桌上来处理采购订单(实际上确实需要这么长时间),你可以打赌我要开发一个解决方案,这样我只需要几个小时(现在它确实)。也许跟在我后面的那个人会回去手工完成大部分操作,但我会使用工具箱中的工具来节省时间和压力。

很难找到完美的应用程序,以便在用户端获得最大的创造力,但仍然允许IT“管理”它。一旦你认为你已经找到了一个解决方案,你会发现它没有做其他事情。我可以在此解决方案中编写可打印报告,就像我以前在Access中一样吗?我可以编写复杂的Excel公式,将多个数据源从不同的表格中联系起来(“你想让我学习什么?不,我从来没有听说过” SQ uirre L 查询“之前。VLOOKUP就好了。”我可以将结果通过电子邮件发送给我所在部门的人员吗?它可以自动从我们的后端数据库中提取数据吗?在Excel和Access中做什么?我可以编写自己的代码,VBA或其他方式,以使我的工作更轻松吗?列表继续。

最后,在您的情况下,我能给予任何IT经理的最佳建议是尊重贵公司的其他员工。让他们知道他们的工作很重要(即使它只是有用的对他们和下一个桌子上的那个人)。让他们知道你并不是想让自己的工作更加努力。不要以为他们是在办公生产力软件中创建任务关键型应用程序的蠢货; 他们只是试图通过手头的工具完成工作,通常是非常有能力和聪明的人。邀请他们使用来探索的不同解决方案,而不是仅删除他们工具箱中当前拥有的工具,然后将其替换为他们不知道如何使用的工具。

在一天结束的时候,如果你有足够聪明的用户通过在Excel和Access中创建复杂的应用程序来自我射击,他们可能足够聪明,可以学习使用适当的工具完成相同的任务。投入时间和精力让他们参与到这个过程中,你将拥有一个适合每个人的解决方案。

答案 3 :(得分:3)

我是凯文罗斯的主要观点之一:

  

我个人认为他们应该是一个   IT团队中的小团队   工作(或其中一项工作)是   开发这些小应用程序。他们   应该与最终密切合作   用户而不是被锁在象牙里   IT塔。

我认为任何拥有大量使用Access / Excel的用户的IT部门都应该至少有一名经过适当培训并且经验丰富的专家在这些平台上开发应用程序。那个人将成为确保:

的中间人
  1. IT的优先级和政策在自行开发的应用中得到了适当的实施。

  2. 最终用户可以获得专家帮助,将他们的本土工作转变为更稳定和精心设计的工作。

  3. 我认为Tony的观点是,与最终用户一起修改这些应用程序以符合IT标准的人应该与用户并肩工作。 Access / Excel专家应该是最终用户的倡导者,也应该是必须遵循的IT策略。

    我还认为IT部门可能有一两个专家,但也应该有一名全职的专业Access和/或Excel开发人员作为顾问,因为工作人员可能会处理一天到日期问题和应用程序管理,而专业顾问可以参与规划和架构以及实施更复杂的功能集。

    但所有这些都取决于组织的规模和涉及的应用数量。我不知道让一个人只是一个Access / Excel专家的薪水是合乎需要的,正是因为与顾问相比,所有受薪员工都遇到了问题 - 员工看不到这么大的问题。作为具有相同专业的积极顾问的各种情况很可能会看到,因此顾问将有更广泛的经验。

    当然,我认识到许多公司不喜欢外包任何东西,或者不喜欢重要的东西。我认为这是不明智的,但话又说回来,我是被决定这样做的人聘用的人!

答案 4 :(得分:0)

如果它是关键任务,并且它在Access或Excel中,构建不佳,并且没有人理解它,那么可能是时候正确地重建它了。

答案 5 :(得分:0)

当'用户'处于控制之中时,通常意味着一个特定的人控制着架构,设计,编码和文档......除了他们通常省略文档步骤。源代码控制和错误报告是软件开发的试金石,通常不存在。由于Office应用程序(通常嵌入到文档中的代码模块)和VBA(小OOP,大多数VBA编码器不使用Implements等)的性质,很少有代码重用实例。所有这些意味着最终的应用程序不会受到适当的审查,质量可能会受到影响,这意味着可能存在维护问题,特别是当一个用户离开时。我知道,因为我曾经是那个人;)

因此,为了满足IT部门的需要,需要应用适当的流程。那个“权力”用户可以继续拥有设计和编码,但是需要同行评审,也许是技术作者和专用测试人员的服务,需要使用源代码控制,或许考虑与企业系统集成等。

答案 6 :(得分:0)

没有使用Excel / Access。它是可用的,并且仍然非常强大和灵活。最好的办法是提供一些关于文件外观和设置方式的指导。如果每个人都使用类似的标准,那么除了创作者在公司任职期间,这些文件的寿命也会更长,生活更有成效。

答案 7 :(得分:0)

在处理事务的人和业务方面,你有一些很好的答案。所以我的回答会更具技术性。

如果要重新设计应用程序,开发人员可以在与用户相同的办公室中工作。鉴于用户每天或每两天更新一次。如果用户有任何小的建议,请在一两天内将这些建议提供给用户。 Ultra Frequent Application Deployment

通过一堆启动查询为高级用户提供链接到表的Access MDB / ACCDB。让他们创建将数据导出到Excel以用于自己的目的并分发给客户端所需的查询。