首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精华] EXECL 上传数据到400的两种方法


来源 chinaunix.net 酷勤网整理

最近有不少人在问EXECL 传数据到 400 怎么做,现就我自己常用的两种方法进行描述,希望对大家有帮助:

一、CA 上传:(如附件 1 和 附件 2)
  1、将EXECL 保存成  .csv 格式 
  2、然后在 CA 菜单中选择( 将文件发送到主机)
  3、按画面提示一步步操作
**以上截图 如附件

二、VBA上传 (如附件 3)
  1、本例做一个 EXECL 两列(A/B)数据上传的
  2、首先要有安装CA(5。5可以,其他版本没试过),配置一个数据原(如:AS400)
  3、打开EXECL ---工具--宏---vissual basic 编辑器
  4、编写VBA 代码 

  简单如下:
  Private Sub CommandButton1_Click()

   '选择上传事件,这里通过 单击"数据上传" 按钮才将数据上传 如图

   Set OCONN = CreateObject("ADODB.Connection")
    Set ORS = CreateObject("ADODB.Recordset")

    OCONN.Open "DSN=AS400", "USER", "PASS"
    ' 其中 DSN为 ODBC里配置的
       
   Dim str1 As Double
    Dim str2 As Double
    Dim i As Double
   
    For i = 1 To 1000
    
  '因上传数据少于1000,这里省略判断 记录数
  '直接赋 给一个 循环 次数的 数值

    str1 = Range("=Sheet1!A" & i)
     str2 = Range("=Sheet1!B" & i)
     
   '将EXECL 中 A\B 列的值赋予变量  str1 str2
   
     sqlstr = "insert into pf.PFNAME values(" & str1 & "," & str2 & ")"
     
    '将值插入 指定的 400 --PF
    
     ORS.Open sqlstr, OCONN
     
    '执行上传语句
   Next
    
   ' MsgBox ("上传完成,共" & count & " 条")
   'count 需在前面定义,并实际统计,这里不做该统计,有需求可以自己设置
End Sub

[ 本帖最后由 caomangyu 于 2007-5-26 18:33 编辑 ]

附件1.rar

附件2.rar

附件3.rar



 Ginger 回复于:2007-05-25 17:12:30

如何将Excel中的数据填入AS400应用程序中?如在ERP系统的盘点输入时,启动输入程序,会有以下字段:

Tag           Part Number         Location          Quantity
____         ____________     _______         ________

如何将Excel中的数据填入以上下划线的区域?
有人曾经做过这种方式的输入,很想知道是如何实现这种方式的。


 V01619 回复于:2007-06-01 09:58:20

sqlstr = "insert into pf.PFNAME values(" & str1 & "," & str2 & ")"

PF.PFNAME的格式是怎样写的啊.比如说我有一个TESTPF,存放在TESTLIB的库中.此处应该怎样写?


 caomangyu 回复于:2007-06-02 20:37:01

testlib.testpf


 shilei1 回复于:2007-06-04 11:01:28

说的CA是个什么软件


 caomangyu 回复于:2007-06-04 22:25:39

client access for iseries


 V01619 回复于:2007-06-11 12:19:14

有一个PF文件,其中的字段如下

A1  6 字符
A2  2 .0数字字段

用以上方法插入时,A2对应的EXCEL值为空,则运行出现错误.
必须在EXCEL中输入一个0,才能正常传送到400.

这个问题有没有什么办法解决?因为,A2不是必须要输入的.


 liling070900 回复于:2007-06-11 13:06:13

让不是必须要输入的字段自动置空(0)


 V01619 回复于:2007-06-11 17:03:33

如何做?


 caomangyu 回复于:2007-06-11 22:09:59

EXECL 本身就可以设置 格式打   在单元格设置里面


 vigerguo 回复于:2007-06-12 09:23:55

如果有csv文件的话不就直接可以读取了吗?




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=940586
转载请注明作者名及原文出处



收藏本页到: