- 论坛徽章:
- 0
|
最近有不少人在问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 编辑 ] |
|