gpt4 book ai didi

c# - C# 应用程序中类似 msaccess 的表单

转载 作者:太空狗 更新时间:2023-10-30 00:53:35 26 4
gpt4 key购买 nike

我正在使用 ms-access 开发数据库管理的前端解决方案。我必须承认,ms-access VBA 是开发大型应用程序的坚实限制,这就是为什么我一直在改变使用 c# 而不是 VBA 的想法。

事实上,删除 ms-access 中的所有内容非常容易,除了一个东西:表单。这些在数据显示和编辑方面特别快速和高效。在最新版本的 ms-access 中,表单就像类一样,因此您可以在运行时专门管理同一表单的一个或多个实例。当以连续模式使用时,它们可用于“以 excel 方式”操作数据,具有行和列显示、过滤和排序的可能性。总之,我喜欢。

当然可以在 c#(或其他类似语言)下对这个表单对象进行逆向工程,但这可能已经完成了:你是否使用过库、activeX 控件或任何其他类型的插件?在那提供了在 c# 中操作类似 msacces 的形式的可能性?

编辑:按照 Renaud 的评论,我承认没有兴趣只转换表单的布局部分,也没有办法转换其自定义/VBA 部分。在我们的具体情况下,我们很早以前就停止在表单中使用自定义的VBA代码,而表单属性、方法和事件都是从模块中管理的。 This has even been discussed here .

事实上,我们所有的表单都依赖于一个通用模板,并自动从“表单”和“控件”表中构建出来。所有底层事件管理代码的生成都是自动化的:根据它们的类型,控件与选定的事件相关联,并且事件的代码将手交给应用程序模块中的标准\通用程序。这就是让我认为可以将我们的“ms-access 表单技术”转移到 .NET 平台的原因。

最佳答案

我不知道有任何项目可以让您使用 Access 应用程序并在 .Net 或其他任何东西中重建它。我相信有一些很好的理由可以说明为什么此类工具只能提供非常有限的功能。

只转换表单布局的工具将大大缺乏目的:在 .Net 中手动(重新)创建功能布局非常容易,无论是 WinForms 还是 WPF。
每个屏幕可能需要几个小时,但速度足够快,是可行的。

虽然自动化工具很难将 Access 表单转换为在 .Net 中看起来不错:
许多 Access 应用程序在 UI 方面设计不佳,控件位置选择不当,依赖自定义配色方案以及将有限的 Access 控制屈服于个人意愿的技巧。
最重要的是,您有很多特定于 Access 的对象属性,如果不需要大量额外的支持代码就无法很好地转换为 .Net。

但我认为房间里的大象是 VBA:大多数复杂的 Access 表单都是使用控制 UI 和业务逻辑的 VBA 自定义的,如果不付出一些重大努力,就无法将其转换为 .Net。
MS Access 应用程序是围绕过程性的、以模块为中心的方法而不是面向对象构建的,并且 Access 应用程序总是将 UI 和业务逻辑分离得很差,这一事实无济于事。
直接翻译 - 如果可能的话 - 只会创建一个蹩脚的 .Net 应用程序。

有一些框架可用于构建在许多方面类似于 Access 的简单/复杂业务应用程序。

Developer ExpresseXpressApp Framework它允许您构建和自定义 UI、生成数据库、管理用户、安全性等,并且可以让您轻松地构建几乎没有代码的数据 View (尽管您可以根据需要添加任意数量的代码,它都是 .Net) . UI 使用其出色的控件,这些控件在行为和可定制性方面远优于 Access。
该框架同时针对桌面和网络(您创建一个项目,然后自动获得这两个项目)。唉,这可不是真的便宜,你必须有一个通用订阅,此时价格为 2200 美元(每年续订为 800 美元)。

另一种免费或便宜的产品是 LightSwitch,具体取决于您的 MSDN 订阅。 .
LightSwitch 被一些人视为现代的、以开发人员为中心的 Access 继承者。它最初以 Silverlight 为目标,以便在企业中轻松部署,但最近的版本也以 HTML5 为目标,因此您可以“在任何地方运行您的应用程序”,甚至是平板电脑。
这里的原则是轻松构建体面的面向数据的表单和 View ,以允许快速输入数据和定制报告。

像您一样,我经常考虑如何将现有的 MS Access 应用程序转换为 .Net,但我越是考虑细节,它就越毛茸茸,然后您看看人们一直在用 Access 做什么,以及您知道,任何工具要想成功,都必须处理办公室用户构建应用程序的所有可怕方式,这太疯狂了。
构建 Access 应用程序的方法太多了,其中大多数都非常糟糕,没有机会在不完全改变范式的情况下进行轻松转换,通常会强制完全重写。

关于c# - C# 应用程序中类似 msaccess 的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15722333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com