none
VBA 是否有可能 整批 寫入AS400 RRS feed

  • 一般討論

  • 因為 要寫入的資料庫 為AS400

    所以 測試過 一些方法後 ,只有以下方式 可以直些寫入

    但 問題在於 無法整批 寫入

    所以,想請問 若以 下列 程式碼的方法 來寫入時

    是否 有 可能改為 整批 寫入 呢

    以下     myCon.BeginTrans
    測試 過 ,實際上並沒有作用......

    sub UP()
    reponse1 = MsgBox("確定上載??", vbOKCancel)
       
       
        If reponse1 = 1 Then
       
            Application.DisplayAlerts = flase


            Dim myCon As ADODB.Connection
            Dim myCommand As ADODB.Command
       
            Set myCon = New ADODB.Connection
       
      


            myCon.Open "Provider=IBMDA400.DataSource.1;Persist Security Info=False;Data Source=s1111 "  '400  CONNECTION
            Set myCommand = New ADODB.Command
       
        'On Error GoTo Tran_Err
        myCon.BeginTrans
       
       
            myCommand.ActiveConnection = myCon '指定連線目標
      
            With ThisWorkbook.Sheets("temp")
               
               
                For i = 2 To .UsedRange.Rows.Count
                       sql = "insert into TB(A01,A02) values('" & x1 & "','"& x2 &"')"
                            
                        myCommand.CommandText = sql
                        myCommand.Execute
                   
                        myRow = myRow + 1
               
                        If myRow Mod 100 = 3 Then
                            myCon.CommitTrans
                            myCon.BeginTrans
                   
                    End If
                Next
       
            End With
       
        myCon.CommitTrans
           
            Set myCommand = Nothing
            myCon.Close
            Set myCon = Nothing
       
           
            Application.DisplayAlerts = True
            MsgBox "Update 完成!!"
       
            Exit Sub
        End If
       

    Tran_Err:
            myINT = Int((myRow - 3) / 100) * 100
            MsgBox "第 " & myRow & "行 錯誤無法寫入 -->" & strCUNR & "<-->" & strCPNR & "<-->" & strHDLB
            myCon.RollbackTrans
             Set myCommand = Nothing
            myCon.Close
            Set myCon = Nothing
    End Sub

    2006年9月13日 上午 09:01