使用excel中的表格更新as400中的表格

我想在excel工作表中使用表格更新as400中的表格,如下所示:

表1 [as400]

REFNO QTY 1 10 2 12 3 20 

表2 [excel工作表]

 REFNO QTY 1 13 2 15 3 22 

Table1中的数量使用VBA从表2中更新,因此输出将如下所示:

表1 [as400]

 REFNO QTY 1 13 2 15 3 22 

我写这样的代码:

 Dim s1 As Worksheet Dim BRDa As ADODB.Connection Dim RS As ADODB.Recordset Dim b As Integer Set RS = New ADODB.Recordset Set BRDa = New ADODB.Connection BRDa.ConnectionString = "provider=ABC; Data source=XYZ; user id=OK1; password=OK2" BRDa.Open On Error Resume Next Dim QRY1, QRY2 As String QRY1 = "SELECT * FROM TABLE1 INNER JOIN S1.TABLE2 ON TABLE1.REFNO=TABLE2.REFNO" RS.Open QRY1, BRDa, adOpenDynamic, adLockOptimistic b = 0 Do While Not RS.EOF QRY2 = "UPDATE TABLE1 SET TABLE1.QTY = TABLE2.QTY WHERE TABLE1.REFNO=TABLE2.REFNO" BRDa.Execute QRY2, dbFailOnError b = b + 1 RS.MoveNext Loop TextBox1.Text = b RS.Close BRDa.Close End If End Sub 

但它不起作用。 有人可以帮我吧… T__T! 谢谢..

不要使用ADO,而要查看用于数据传输的cwbx对象。 Iirc,它们比OLE驱动程序更快,但这取决于您的数据集成/转换需求有多复杂。

您应该在您的i系列文件夹中find一个cwbx.CHM文件,但是IBM提供了关于数据传输的良好概述