我的客户如何在Microsoft Access中将表单数据(外部)提交到我的数据表(内部)中



我开发了一个功能齐全的由两部分(前端和后端)组成的Microsoft Access数据库,用于Microsoft Windows,并希望进一步扩展它的功能,以便外部客户端可以将自己的数据直接提交到我的数据表中,而无需先将其发送给我,以便我可以手动输入。

系统的前端存在于每个最终用户的本地(不在我的局域网上),后端存在于我的局域网内。

问题是,我不知道如何做到这一点,希望能给我一些建议。

这就是我希望它的工作方式:

1. Client (external / not on my LAN) enters data into form
2. Client presses "Submit"
3. Data is entered directly into my data table (internal / my LAN)

我还需要遵循一些要求:

  • 客户端无法访问任何现有数据,也无法查看这些数据,只能提交自己的数据
  • 一旦提交,我的客户就无法查看或修改数据——他们会收到一张空白的表格/确认屏幕

还要注意以下几点:

  • 所有用户都是Windows用户
  • 所有用户都安装了Microsoft Access

要在公司网络中获取数据,这些台式机将需要使用您的网络。当他们点击提交时,这些数据必须发送到你现有的数据库中,这意味着你需要向狂野的互联网开放你的网络。很少有公司(如果有的话)会允许在全国各地的电脑上运行的桌面程序使用+打开和修改现有网络上的文件(黑客的梦想成真了!)。因此,虽然您的公司网络可以为这些台式机打开以修改您的访问数据库,但这将是一场安全噩梦,而且不切实际。也不清楚您是否能够(或希望)将这些外部计算机设置为可以远程访问您的公司网络,或者您所说的access数据库的几乎"任何"老用户都需要这种能力?

如果我们谈论的是你信任的员工,那么你的公司网络可以通过安全连接(VPN)对外开放。

如果您谈论的是应用程序的客户和普通用户,那么允许这些人连接并使用您的公司网络是不可能的。

因此,从安全角度来看,您所问的可能是可能的,但并不实用(这就是为什么您试图构建一个与当今其他应用程序不同的应用程序)。因此,试图做一些别人没有完成的事情往往是一个非常糟糕的主意。

另一种可能的解决方案是,当用户点击提交并修改你的数据库(在你的本地网络上)时,你可以让他们的应用程序将数据发送到某个网站(这是大多数此类应用程序的工作方式)。因此,您可以将数据以XML或其他格式推送到网站。然后,你让公司网络中的桌面每天下载几次这些新数据。这再次消除了向外部连接开放公司网络的需要)。

另一种方法是,在用户输入完数据后,您可以让Access将数据导出到某个文件,然后通过电子邮件向您发送数据文件。我想这真的取决于他们需要向您发送数据的频率——如果频繁,那么这是不现实的。

另一方面,通过一个网站,让人们将数据输入到该web表单中,然后将数据拉到Access桌面上,可能会更好地完成上述所有操作。当然,在基于网络的情况下,您会遇到新的问题,如发布登录等,更改密码以及谁将维护这些用户+登录等。然而,即使存在这些问题,某种收集信息的门户网站或网站也比在每个用户的桌面上部署Access应用程序更有意义,因为它相当于一个简单的表单和一个提交按钮。桌面数据库的设计和体系结构不适合您尝试实现的任务。

您也可以使用SQL server的云版本,让Access将数据发送到该云托管的SQL server,然后让公司网络中的桌面应用程序每天多次下载新数据。

因此,除非你愿意在这里引入一些额外的技术,否则Access对于给定的任务来说是错误的工具

最新更新