- UID
- 429454
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-4-27
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
目前 我更改 後如下
可是卻在
但卻在 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 |
|