找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 426|回复: 0

[求助]:ADO 將EXCEL 檔案寫到AS400 問題

[复制链接]
发表于 2006-5-4 14:25:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目前 我更改 後如下

可是卻在
但卻在   myRS.AddNew   '新增紀錄 -----------------------這邊出現
執行階段錯誤 3251
目前的資料集不支援更新.這可能成為提供者或所選擇所定類型的限制

可是 我試過用其他鎖定 都不可以
請問 這要如何設定




Dim myCon As ADODB.Connection  '
    Dim myRS As ADODB.Recordset    '
    Dim xlsRow As Integer 'EXCEL 開始匯入欄位

    Set myCon = New ADODB.Connection
    myCon.Open "Provider=IBMDA400.DataSource.1;Persist Security Info=False;Data Source=192.168.1.2 "  '400  CONNECTION
   

    Set myRS = New ADODB.Recordset   '產生recordset
   
    myRS.Open Source:="WW.whcd", ActiveConnection:=myCon, CursorType:=adOpenStatic, LockType:=adLockBatchOptimistic, [B]Options:=adCmdTable[/B]
   
   
    xlsRow = 2 'EXCEL 從第2行開始
   
    'On Error GoTo Tran_err2  '攔截錯誤
   
    myCon.BeginTrans    '開始交易處裡

       With ThisWorkbook.Sheets("temp")
      
            Debug.Print .Cells(xlsRow, 3).Value
            
            Do Until .Cells(xlsRow, 3).Value = " " '當第3欄 P#為空白,時停止 寫入
            
                myRS.AddNew   '新增紀錄 ----------------------出現-有問題
            
           ' WHVM    CUNR    CPNR    SHTO    HDLB    CRDV    CRTV    MEM1

                myRS![WHVM] = .Cells(xlsRow, 1).Value
                myRS![cunr] = .Cells(xlsRow, 2).Value
                myRS![cpnr] = .Cells(xlsRow, 3).Value
                myRS![shto] = .Cells(xlsRow, 4).Value
                myRS![HDLB] = .Cells(xlsRow, 5).Value
                myRS![CRDV] = .Cells(xlsRow, 6).Value
                myRS![CRTV] = .Cells(xlsRow, 7).Value
                myRS![MEM1] = .Cells(xlsRow, 8).Value
            
                myRS.Update '實際並不會寫入到DB
            
                xlsRow = xlsRow + 1
            
                If xlsRow Mod 100 = 3 Then
                    myCon.CommitTrans  '反應開始
                    myCon.BeginTrans   '開始進行交易處理
            
                End If
            Loop
        End With

    myCon.CommitTrans   '寫入剩餘的變更

    myRS.Close
   
   
    Set myRS = Nothing
    myCon.Close
    Set myCon = Notning
      
    MsgBox xlsRow - 1 & "以寫入DB"
      
    Exit Function

   
Tran_err2:
   
    myINT = Int((xlsRow - 3) / 100) * 100
    MsgBox "第 " & xlsRow & "發生錯誤 .  目前已經寫入 " & myINT & " 記錄了 ."
   
   
    myCon.RollbackTrans  '丟棄錯誤錯誤產生之變更單位
   
    Set myCmd = Nothing
    myCon.Close
    Set myCon = Nothing
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 21:51 , Processed in 0.357682 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表