【发布时间】:2016-06-29 12:44:13
【问题描述】:
我需要使用 ADODB 更新 .mdb 中的单个记录,但我可以读取但无法更新...
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Dim OknoPodmiany
Dim i, j As Integer
Dim sciezka As String
sciezka = "c:\baza_danych.mdb"
Set cnn = New Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0"
cnn.Open sciezka
Set rst = New ADODB.Recordset
Set rst.ActiveConnection = cnn
rst.Source = "SELECT * FROM TBKlienci ORDER BY Nazwaklienta"
rst.Open , , adOpenKeyset, adLockOptimistic
i = 1
While Not rst.EOF
For j = 1 To rst.Fields.Count
'ActiveSheet.Cells(1 + i, j) = rst.Fields(j - 1)
If Not ActiveSheet.Cells(1 + i, j) = rst.Fields(j - 1) Then
Select Case MsgBox("Czy chesz zmienić:" & Chr(10) & rst.Fields(j - 1) & Chr(10) & "na:" & Chr(10) & ActiveSheet.Cells(1 + i, j), vbYesNoCancel)
Case vbYes
MsgBox "podmieniam"
rst!Update.Fields(j - 1) = ActiveSheet.Cells(1 + i, j)
Case vbNo
MsgBox "niepodmieniam"
ActiveSheet.Cells(1 + i, j) = rst.Fields(j - 1)
Case vbCancel
MsgBox "anulowano"
End Select
End If
Next j
rst.MoveNext
i = i + 1
Wend
问题是rst!Update.Fields(j - 1) = ActiveSheet.Cells(1 + i, j)我怎么才能通过呢?
【问题讨论】:
标签: vba ms-access ado excel-2003