最近有不少人在问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文件的话不就直接可以读取了吗?
|