将 Access 中内置的屏幕与某些基于 Web 的表单集成起来并不实际。我不确定为什么或谁或向您建议过这种方法在我们的行业中使用过。
您当然可以启动任何 Web 表单或网站,或者启动在您桌面上运行的 Access 客户端的任何 URL。启动该 URL 的代码是:
Application.FollowHyperlink "path to web form or site goes here"
因此,您可以在 Access 表单中放置一个按钮或菜单来启动 Web 表单,或者如果您愿意,甚至可以启动 eBay。但是,我认为问题(或解决方案)不是启动某些 Web 表单的能力,而是让应用程序的某些部分相互通信。
应用程序变得有用,因为所有应用程序部分都可以紧密地相互通信。 Access 是一个很棒的 RAD 工具,因为它可以很容易地启动一个报表或另一个表单并传递信息。所有这些应用程序都可以轻松共享通用代码和例程,让您完成有用的业务任务。
因此,当您单击 Access 数据网格(继续表单)中的详细信息行时,启动另一个表单来编辑一条记录需要一行代码。因此,应用程序绝不只是用于编辑数据的单个独立表单,而是表单之间的对话和代码的使用以及这些对象如何一起跳舞才是真正使应用程序有用的原因。如果一个应用程序只是没有代码的表单,那么我认为我们将在这个行业中失业。
导航和构建 Web 应用程序的模型与 Access 的工作方式完全不同。我的意思是,如果您打开了 5 个浏览器,哪个浏览器有某种形式来编辑您的数据,哪个浏览器正在观看 YouTube 上的视频?
您真的无法接近这样一个半生不熟的系统,其中某些表单位于 Access 中,而应用程序的某些部分是基于 Web 的。唯一可行的方法是 Web 表单不需要使用或使用客户端表单中的任何代码。
但是,您可以在 Access 2010 中构建 Web 表单。换句话说,在 Access 客户端中,您可以构建客户端表单和 Web 表单。客户端表单可以调用和使用 Web 表单(它们在客户端中运行)作为常规表单,并且诸如 where 子句等将起作用)。当您发布到网络时,只有网络表单运行。这是我的一个访问应用程序的视频,并注意在中途我如何在网络浏览器中运行相同的表单:
http://www.youtube.com/watch?v=AU4mH0jPntI
但是,Access 中的上述功能目前无法与 sql server 一起使用,必须使用 SharePoint(或即将推出的 office 365)。
因此,毫无疑问,将应用程序中的位和部分移动到基于 Web 的概念是有道理的(因此,您不将所有应用程序移到 Web 的概念是有道理的)。但是,移出到 Web 的部分必须作为 Web 或独立的有意义,并且不需要与客户端表单集成(至少在使用期间)。
换句话说,如果您现在在 Access 中有一个旧的工资系统,但希望员工输入他们的工资小时数,那么新的 Web 部件与工资系统是分开的。毫无疑问,工资系统可能会从基于 Web 的新员工工时输入系统中提取和提取工时。
但是,基于客户端的应用程序的菜单和部分将无缝启动和使用 Web 浏览器部分的想法完全没有意义。这又是零意义,你在这里叫错了树。如前所述,如果 Web 部件确实是一个单独的业务流程,那么这里有一些可能性。
最后但同样重要的是,您当然可以在 .net 网站上构建一组 Web 服务(应用程序业务代码和与 UI 分离的逻辑)。然后,Access 客户端表单和 Web 表单都可以使用这个单独的业务层。但是,这样的设置可能再次表明您最好将应用程序构建为基于 Web 的应用程序,因为基于 Web 的表单可以更轻松地交谈和使用业务代码,然后客户端表单可以 - 唯一的例外是如果您使用访问 Web 服务,然后 Web 或客户端表单都可以使用您编写的存储过程和业务例程来运行服务器端。
最后但并非最不重要的一点是,也许您的问题可以通过增加连接性来解决,而不是真的需要基于网络?我在我的以下文章中解决了这个问题。
http://www.kallal.ca/Toweb/Index.html