Excel VBA за актуализиране на SQL таблица

Имам малка програма Excel, която се използва за качване на данни на SQL сървър.

Това работи добре от известно време.

Проблемът ми сега е, че бих искал да предложа на потребителите функция за актуализиране на съществуващ запис в SQL.

Тъй като всеки ред в тази таблица има уникална колона с идентификатор. Има UID за извикване на колона, който е първичен ключ.

Това е част от кода в момента за качване на нови данни:

Set Cn = New ADODB.Connection
    Cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & _
        DatabaseName & ";Uid=" & UserID & ";Pwd=" & Password & ";"

rs.Open TableName, Cn, adOpenKeyset, adLockOptimistic

For RowCounter = StartRow To EndRow
    rs.AddNew
    For ColCounter = 1 To NoOfFields
        rs(ColCounter - 1) = shtSheetToWork.Cells(RowCounter, ColCounter)
    Next ColCounter
Next RowCounter
rs.UpdateBatch

 ' Tidy up
rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing

Мога ли все пак да променя този код, за да актуализирам определен UID, вместо да импортирам нови записи?

Благодаря отново за помощта


person user307655    schedule 03.04.2010    source източник


Отговори (1)


Вместо AddNew, за да отворите нов запис, използвайте Find, за да намерите съществуващ. Като:

rs.Find "id = 100"
rs(1) = "ColumnOneValue"

Or:

rs.Find "LastName = 'Bush'"
rs("LastName") = "Blush"

Възможно е да Find множество редове и да преминавате през тях с помощта на EOF и MoveNext.

person Andomar    schedule 03.04.2010