Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение значения в поля в найденной по конкретным критериям записи
 
 автор: егор   (06.04.2007 в 12:52)   личное сообщение
 
 

как это сделать через recordset?

  Ответить  
 
 автор: osmor   (06.04.2007 в 12:53)   личное сообщение
 
 

rst.edit
rst![поле] = 4566
rst.update

  Ответить  
 
 автор: Егор   (06.04.2007 в 13:27)   личное сообщение
 
 

Это верно, но мне надо изменять записи удовлетворяющие определенному условию, как в Where

  Ответить  
 
 автор: osmor   (06.04.2007 в 13:32)   личное сообщение
 
 

вопрос звучал:
Изменение значения в поля в найденной по конкретным критериям записи
не работает!!! :((

т.е. я так понял что запись уже найдена...
Скажите тип рекордсета

  Ответить  
 
 автор: Егор   (06.04.2007 в 14:06)   личное сообщение
 
 

Сначала надо найти запись, удовлетворяющую условию, а потом только обновлять(или менять значение). Вот какой вопрос.
я использую вот что
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 виснет

  Ответить  
 
 автор: osmor   (06.04.2007 в 14:24)   личное сообщение
 
 

Нужно подолжить поиск
Help по FindNext
Но лучше все же использовать SQL

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList