Amazon MWS和Microsoft Access是否需要DB Layman?

问题描述

我有一些MS Access的经验,但主要只是作为脱机数据库工具。

我已经开始在新公司与卖方和卖方中心一起工作,并负责清理大量数据以获取趋势之类的信息。目前,我们公司仅依赖于直接从卖方中心导出报告,并交叉引用文档。我希望让我们从直接连接到卖方的基本数据库开始。我们公司已经有了MWS开发人员ID,我看到了MWS访问密钥,什么都没有。

我很惊讶地没有找到任何有关如何实际将MWS连接到Access的资源。我充满信心,可以在连接到API后通过尝试一下获得一定的成功,但是我实际上找不到任何有关如何实际建立该连接的参考。

你们有什么资源可以转发我吗?也许我在搜索错误的术语。我搜索的所有内容都是由数据服务公司来宣传其工具的。

解决方法

嗯,AWS的界面将基于Web服务。而且不幸的是,访问没有内置的Web服务界面。

因此,您的选择是: 编写一些VBA代码以使用/使用/使用AWS Web服务。 Web服务就是一个Web API。 (完全是REST服务。REST只是您必须在给定URL中键入的一个花哨的术语。

那么,您要搜索什么?

如何在Access中使用基于Web的数据。

在SO上说这个答案

Making a SOAP request from Access 2007

主要问题是Access并没有非常好的工具来使用Web数据。

但是,大多数Web前端“商店”应用程序倾向于具有一个用户区域,您可以在其中将每日销售量或数据导出到csv。现在,您可以将数据导入Access(或Excel)中。

它们通常有一个报告区域-您可以生成报告,然后以xml或csv之类的格式再次下载(并再次导入到Access或Excel中)。

如果您不想手动导入数据?

然后,您必须编写Web请求代码。这可能会很痛苦。

不幸的是,这意味着您可以像使用Acces那样对某些数据库使用链接表(ODBC)。

因此,您可以开始编写Web界面代码(它将是SOAP或REST。

信不信由你,有一个用于Access 2003的SOAP附加工具套件。但是,没人使用它,所以他们放弃了它。 (当然是17年后的今天-哎呀,一大堆人都得到了它-现在看到了使用Web数据的需要!

因此,您质疑并了解什么? 您问一个人如何使用Web服务。

使用设计用于Web服务的工具有很大帮助。 (这就是为什么我建议使用Visual Studio和.net)。如果他们有适合您的WSDL?然后,您可以将Visual Studio指向Web(WSDL),它将为您找出一组“方法”和特性。 (它将创建一个类。但是,您又在VBA中使用并编写了类对象吗?(它确实支持您创建类。但是SOAP工具套件(不再提供)会为您编写此代码!

那么,如果您想超越其内置的补给工具(可以以csv等格式导出和下载数据以供Access或Excel使用)?

然后,您必须编写编写代码才能进行网络呼叫。

这与过去没有太大不同。是否要从会计系统获取一些数据?好吧,您可以/可以/通常使用会计软件包进行某些导出,以吐出某种形式的csv文件。然后,您导入到Access。

但是,如果您具有更高的技能,则可以使用ODBC从Access链接到数据库,然后针对该数据编写一些SQL查询。因此,这实际上归结为技能水平。有些人不愿意学习说SQL和查询。因此,他们只是从会计中导出数据,然后导入访问。

现在的问题是,您无法链接到该网站,而无法使用SQL查询数据。您必须使用Web服务调用。 (至少如果您想使该过程中的某些过程自动化)。

因此,从AWS服务导出数据/文件,然后将其导入Excel或Access,可能会很好。这样,您无需编写任何代码,而仅使用Access GUI导入数据。

但是,有些人只想按一下Access中的一个按钮,然后查看今天的所有订单和销售情况,然后让Access一键从网站上提取该数据。

是否需要一些简单的数据提取?您可以通过Access进行网络通话。但是对于复杂的Web界面呢?然后,您需要使用支持Web接口的工具(例如Visual Studio .net)。

是否需要简单的数据提取?我将使用VBA和MSXML。 但是,如果参数和数据调用很复杂?然后,我用.net编写它,然后将该代码作为消耗性库公开给MS-Access。

那么,一旦您注册了AWS以及什么Web服务?然后他们将为您提供网络电话和文档。然后,您可以自由使用所选的编程工具进行接口。但是,这可能是很多工作。因此,您可以使用VBA,但是.net对于这种类型的工作要好得多。 (而且编码起来也更加困难)。

,

作为完成此任务的开发人员,我将编写一个连接到MWS的“同步”程序,提取您的数据,然后将其插入MS Access。就我而言,这是一个带有SQL Server的C#.NET Core应用程序,我使用了Amazon免费提供的可用MWS SDK来处理对MWS的所有API调用。您可以创建一个时间表,以便您的应用按一定的间隔提取数据,也可以手动设置按钮的位置以将其同步到系统中。

当然,您可以使用Java或PHP代替C#,也可以滚动自己的MWS API调用。就像您提到的那样,有一些第三方供应商提供了现成的现成解决方案。

大约20年来我没有使用MS Access,所以我不确定直接致电MWS。我认为可以做到,但可能工作太多,但我可能是错的。一个.NET应用程序可以毫无问题地插入MS Access,而且还可以为您处理对MWS的HTTP调用。