【问题标题】:Send data to AS400 from VBA (runtime error 249)从 VBA 向 AS400 发送数据(运行时错误 249)
【发布时间】:2017-02-09 10:18:07
【问题描述】:

希望你能帮我解决这个问题

我的一个朋友每天都必须使用存储在 excel 电子表格中的数据填写 AS400 中的相同字段。我是 VBA 的高级程序员,所以我在徘徊是否有办法让 vba 和 as400 交互

有什么想法吗?

非常感谢您

编辑: 同时我正在做一些挖掘,我发现了这个

http://www.ibm.com/support/knowledgecenter/SSEQ5Y_5.9.0/com.ibm.pcomm.doc/books/html/host_access08.htm

Dim autECLConnList as Object
Dim Num as Long

Set autECLConnList = CreateObject("PCOMM.autECLConnList")

autECLConnList.Refresh
Num = autECLConnList.Count

但是当我尝试执行以下代码时,我得到运行时错误 249,说 ActiveX 组件无法创建对象

【问题讨论】:

    标签: vba excel ibm-midrange


    【解决方案1】:

    如果您想将数据直接加载到表中,那么最好使用 ODBC、OLEDB 或 .NET 驱动程序。事实上,IBM 提供了直接向/从 Excel 传输数据的功能。

    如果您必须通过现有屏幕加载数据,那么您就在正确的轨道上。但是,请注意,个人通信 (PCOMM) 是一种独立产品,与更流行的客户端访问 (CA) 产品不同。

    这有点令人困惑,因为 CA 包含 PCOMM 的一个子集作为 CA 模拟器。

    CA 有两种变体 - 较旧的 IBM i Access for Windows(最初是用于 Windows 的 Client Access (CA)) - 新的基于 Java 的 IBM i Access Client Solutions (ACS)

    较早的 CA 产品包括 APIs for enabling workstation programs to interact with IBM i host systems. 您需要安装 IBM i Access for Windows 的 Programmer's Toolkit 组件。该工具包基本上只是文档。工具包中包含一个链接to some sample applications

    现在新的 ACS 产品是基于 Java 的。然而,IBM 在Windows Application Package 下为 ACS 打包了一些特定于 Windows 的组件。这显然包括前面提到的programmers toolkit

    老实说,鉴于 ACS 模拟器是基于 Java 的,而不是像旧模拟器一样基于原生 windows PCOMM,我真的不确定它是如何工作的。

    【讨论】:

      【解决方案2】:

      您可以使用 IBM Client Access ODBC 驱动程序来做到这一点。 https://www-304.ibm.com/support/docview.wss?uid=swg21418043

      然后使用这个连接字符串:

      Driver={iSeries Access ODBC Driver};System=my_system_name;Uid=myUsername;
      Pwd=myPassword;
      

      像往常一样,我在这里找到了它:https://www.connectionstrings.com/as-400/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-23
        • 2020-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-30
        相关资源
        最近更新 更多