如何使我的Access数据库能够被远程用户更新?

问题描述:

我是一位经验丰富的计算机程序员,但做了很少的与网络有关的开发,所以我会很感激你的想法。我们的家族经营一家小型的季节性零售业务,使用Access数据库管理订单。我们很乐意让我们的客户在线下单。问题在于,我们将货物打包发送到没有互联网接入的仓库,并且没有互联网接入的可能性。我想设计一个解决方案,它将允许客户在线输入订单,该订单将自动输入到我们现有的Access数据库中。 2 - 允许我们在没有互联网连接的情况下使用数据库。 可能会有所不同的一件事是订购和运输发生在不同的时间。首先,每个人都下订单。当收到所有订单后,我们将所有订单全部出货(此时订单已关闭)。因此,我会接受一个想法,其中包括在发货之前将数据库的副本制作成本地机器。如何使我的Access数据库能够被远程用户更新?

我可以用一些指针将我从正确的方向开始。是否有一种特定的语言适合这种网页开发?我如何解决允许数据库在线访问但不依赖于在线连接的问题? 在此先感谢!

+0

问题:您打算如何拥有一个网页/网站?通过托管公司? (1and1.com或godaddy.com等)?你有上网吗? – 2010-10-12 16:08:38

+0

我还没有给它足够的想法,但想必它会通过托管公司。如果不清楚,我可以随时上网,除非包装货物以便运送 – twpc 2010-10-12 16:55:22

+0

即使在局域网上,您的仓库与任何外部计算机都没有任何关系?手机或固定电话连接到互联网的任何机会? – JeffO 2010-10-12 19:22:43

在客户端有MS Access数据库的副本,并创建条目到数据库。并运行一个单独的基于互联网的应用程序将所有条目推送到您的MS Access数据库。它不会是一个完整的在线流程,而是一个半在线流程。但美中不足的是,你必须保持在所有客户端数据库大师表和更新他们定期

  1. 如果没有手动应对数据的情况下没有Internet连接,则无法从Web更新数据库。
  2. 您是否通过手机接收电子邮件/短信?如果是,订单描述需要多长时间?如果您可以让它达到140个字符以下,您可以让客户通过网站订购,并向您发送短信或电子邮件(电子邮件可能更长)。然后,您将不得不手动处理文本消息/电子邮件并将其输入到数据库中。

例子:(网页形式)

Product Id: _____ 
Amount:  _____ 
Cost:  _____ 
etc... 

当用户点击提交就可以使用email/sms gateway和自己发送短信

是这样的:

pid:1234,a:12,c:$300,etc... 

每个字段都有一个由以下分隔的ID:以及后面的值。然后用逗号分隔每个字段。然后,只需映射字段和值到您的Access数据库,并在手动输入命令

我知道这是不是最好的解决办法,但没有上网的限制自己

编辑:

还有另一种选项,但您需要购买GSM调制解调器才能接受短信/短信,解析出来并在访问数据库中输入订单。 What is a GSM Modem

编辑#2:

那么,如果你打算使用一个托管公司,我建议PHP瓦特/ MySQL作为数据库来跟踪网上订单。在你进行排序之前,你可以运行另一个脚本来处理挂起的订单,并为Access数据库创建一个插入语句脚本/ sql,你可以通过拇指驱动器进行操作。在处理完挂起之后,您将使用上传脚本/ sql(在拇指驱动器上)使用日常订单更新Access数据库。这甚至可以在早上或其他事情上完成。这将消除手动输入的需要,但仍需要您运行数据导入。

您需要在PHP中实现一个带有MySQL数据库的网页作为网站的后端。创建一个处理脚本,该脚本将导出(在Access数据库中插入SQL)并标记已处理或挂起处理的记录(如果挂起处理,您还可以添加验证层,以便在上载/插入处理后更新处理后的记录到Access数据库)。导出插入/上传Access数据库SQL到拇指驱动器,最后上传/导入新订单的Access数据库。

这是一个仍然非常麻烦,因为您没有互联网访问Access数据库。如果提供了拨号连接或DSL(因为它使用电话线连接到互联网)或使用单元信号连接到互联网的GSM调制解调器(Think tethering),我仍然会建议您使用拨号连接或DSL。

PHP/MySQL有很多教程,所以不用担心,祝你好运!

+0

在线订购的目标是尽量减少我们所做的手动录入。但是,我不会反对使用数据库副本来完成装运的想法。在所有订单进入之后,我们都会立即进行所有运输,因此当时没有人需要在线访问数据库。您能否扩展使用复制数据库进行交付的想法? (我已编辑了我的问题以及对此想法持开放态度) – twpc 2010-10-12 16:01:51

+0

http://www.netzero.net/拨号服务 – 2010-10-12 17:28:11

+0

请参阅上述有关事实:仓库中的互联网连接现在不可协商。然而,根据每个人的回答,我倾向于在线移动数据库,并在最后一分钟以某种方式导出订单(最好是Access表格)以便在发货期间使用。如果我这样做,并在我的电脑上的Access数据库,我假设我的电脑必须24/7。这可能不起作用,那么如何将整个数据库(以及表单,报告等)在线移动? – twpc 2010-10-12 23:31:19

那么,无论你使用一些现有的网络软件和订购系统,或者你建立自己的。从VB到FoxPro有数百万个桌面开发系统可用于访问,同样适用于Web开发,您必须出去挑选一种语言和开发平台。但是,就像您可以以99美元购买QuickBooks一样,以100美元或更多的成本构建自己的会计系统是没有意义的,您可以以99美元的价格获得。基于网络的订购系统也是如此,您将购买或使用现有的购物车。事实上,由于桌面部分是在访问中建立的,因此建议使用j-street和名为CARTGENIE的产品,但后端部分是基于Web的。

由于您在谈论基于Web的解决方案,因此您目前的软件在这里确实没有用处。您当然可以使用Access从网站中提取数据(而不是在您提到的没有Internet的工作位置)。

任何Web应用程序都会将数据库服务器用于数据存储。事实上,很大一部分虚拟主机提供商允许您连接到该网站,并且您可以通过访问进行访问。然而,就你而言,你没有互联网,所以没关系。

将此订单信息发送到没有互联网的位置。只需将网站上的订单信息下载到Excel工作表中,或者从网站上运行报告并将其打印出来,然后将其传真至没有任何互联网的位置。我想你也可以考虑将数据放在跳转驱动器上。

我的意思是因为您在这个工作位置没有任何网络连接,所以如果您将蜗牛邮寄软盘或将驱动器作为Excel或表格访问,则无关紧要。对于每天几份订单而言,导入的劳动力节省与每周发送的传真以及在网站上完成的数据录入相比,节省了将软件导出到导入系统的成本。我想这实际上取决于这里的订单数量,但是如果你随着时间的推移(每周)进行数据录入,那么当订单需要发送出去的季节性工作时间时,你就没有什么大的任务了。

在一天结束时,您的订购软件,您的定价,您添加的产品和库存等不会在工作地点没有互联网的情况下运行。

因此,更新定价的重要业务规则,订单的处理现在必须发生在网站上,并且不会再发生在Access应用程序中。如果您有互联网,那么您肯定可以通过访问连接到网站上的数据库服务器来下订单。在你的情况下,打印订单并传真给没有互联网的地方可能是最实际的解决方案。

你真的不能使用现有的订货系统,因为它无法控制库存,并不能掌握定价权,可以不知道什么已经购买喜欢的网站即可。所以,网络系统就是业务规则和数据必须存在的地方。其他一切都只是消耗该网络数据。因此,打印输出+传真或者传送到该位置的跳转驱动器上的Excel表格就是您正在查看的内容。

我想你可以建立到现有的应用程序访问某些类型的进口系统,可以导入Excel或网络购物车生成CSV数据。所以,你需要找到一个购物车系统。如果没有,所有人都有某种类型的将订单数据导出到Excel或下载某种csv文件的功能。

如果你有一个巨大的价格+产品列表,那么你可以/会寻找那些接受某种类型的价格和产品名单,可以上传购物车系统。但是,如果它不是一个巨大的产品清单,那么他们一次性简单的季节性数据输入会话就会更有意义,然后花费大量时间寻找价格清单的上传时间,因为价格清单并不是很大,只需要执行1到2次一年。

这是不太可能你会再建立自己的基于Web的购物车,然后是有意义的建立当一个像QuickBooks的就可以了约99 $一个财务软件。查看一些购物车系统,找到可以下载订单文件的文件,然后打印出来,或者如上所述考虑在当前系统中创建一些导入例程。

添加了一份报告,你每天早上跑告诉你什么订单被放置在过去24小时内您的访问数据库。这是您当天的送货清单。