Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Егор
Сначала надо найти запись, удовлетворяющую условию, а потом только обновлять(или менять значение). Вот какой вопрос.
я использую вот что
Private Sub FindAndChange()
Dim strCriteria As String
Dim rst As Recordset

On Error GoTo FindAndChangeErr
'Открытие набора записей
Set rst = CurrentDb.OpenRecordset("TableName", dbOpenDynaset)
'Установка критериев поиска
strCriteria = "TextFieldName='Значение поля'"

With rst
If .EOF = True Then GoTo FindAndChangeEnd 'Если таблица пустая то на выход...
.MoveLast 'Заполнение набора записями
.MoveFirst 'Возврат в начало
'Поиск
.FindFirst strCriteria
If Not rst.NoMatch Then 'Если искомое найдено
'Вкл режим редактирования
.Edit
'Изменение значения поля
!CurrFieldName = 3.62
.Update 'Сохранение
Else
MsgBox "По указанным критериям запись не найдена!", vbInformation
End If
End With
FindAndChangeEnd:
On Error Resume Next
rst.Close
Set rst = Nothing
Exit Sub

FindAndChangeErr:
MsgBox "Процедура [...] привела к ошибке:" & vbCrLf & _
Err.Description & vbCrLf & " Err#" & Err.Number, vbCritical
Resume FindAndChangeEnd
End Sub

Но здесь изменяется только 1 запись, а у меня таких записей как минимум 2, вот и надо переделать, но у меня не выходит - Access виснет


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.