Как изменить записи - PullRequest
       11

Как изменить записи

0 голосов
/ 27 октября 2011

Использование VB6

Я сохраняю запись пользователя в базе данных.

код.

rst.Open "SELECT * FROM ShiftMaster WHERE Shift_Code = '" & Trim(txtCode.Text) & "'", adoPunching, adOpenDynamic, adLockBatchOptimistic
    If (rst.BOF And rst.EOF) Then
        rst.AddNew
    End If


    rst!Shift_Code = "" & txtCode.Text
    rst!Shift_Name = "" & txtName.Text
    rst!Start_Time = "" & Format(dtpFrom.Value, "HH:mm")
    rst!End_Time = "" & Format(dtpTo.Value, "HH:mm")
    rst.UpdateBatch
    rst.Requery
    rst.Close
    MsgBox "Data successfully saved.", vbInformation
    lvdvendor

Приведенный выше код работает для сохранения, но если пользователь вводит тот же самый txtcode, значит, он должен изменить записи, он должен добавить новые строки.

Например

Значение ID

001 200

Если пользователь вводит тот же идентификатор в текстовое поле, как 001, и пользователь изменяет значение, например, 500, это означает, что он должен только чередовать значение, он должен добавить еще одну строку с тем же идентификатором.

Как это сделать.

Нужна помощь по коду VB6

1 Ответ

1 голос
/ 28 октября 2011

Как узнать, на какую запись вы указываете после выполнения запроса? Ответ таков: вам не нужно переходить к первой записи:

rst.movefirst
'then add new if no records exist:
If (rst.BOF And rst.EOF) Then
    rst.AddNew
End If

Следует отметить, что при выполнении запроса вы можете вернуть более одной записи, чтобы таким образом он обновлял только первую найденную запись. Вы можете использовать TOP 1 *, поэтому убедитесь, что вы получаете только 1 или 0 записей.

...