Вопрос № 35554: Здравствуйте
Есть проблемка в написании кода не магу разобраться с таблицей в Access
Задача: нужно найти в таблице -100000 и заменить на предыдущее значение, палей в таблице много, -100000 встречается часто есть такие паля в которых -100000...
Вопрос № 35.554
Здравствуйте
Есть проблемка в написании кода не магу разобраться с таблицей в Access
Задача: нужно найти в таблице -100000 и заменить на предыдущее значение, палей в таблице много, -100000 встречается часто есть такие паля в которых -100000 в начале поля их нужно оставить без изменений и продолжать сканирование поля
дальше.
PS.Спасибо
Option Compare Database
Option Explicit
Dim rst As Recordset
Dim a As Integer
Dim i As Integer
Private Sub Button_NA_Click()
Set rst = CurrentDb.OpenRecordset("Таблица1", dbOpenDynaset)
If rst.Fields(i) Then
Do
i = i + 1
Loop While i = 10
On Error GoTo Errorrst
Errorrst:
If rst.Fields(i) <> -100000 Then
a = rst.Fields(i)
rst.MoveNext
Resume
Else
While rst.Fields(i) = -100000
With rst
.Edit
.Fields(i) = a
.Update
rst.MovePrevious
End With
Wend
Отвечает: DrakoN
Здравствуйте, Копысов Николай Александрович!
Накручено капец можно проще...
If rst.Fields(i) Then
Do
i = i + 1
Loop While i = 10
On Error GoTo Errorrst
Errorrst:
If rst.Fields(i) <> -100000 Then
a = rst.Fields(i)
rst.MoveNext
Resume
Else
While rst.Fields(i) = -100000
With rst
.Edit
.Fields(i) = a
.Update
rst.MovePrevious
End With
Wend
Resume
End If
End If
твой вариант..
мой-
rst.Fields.MoveFirst()
For i = 0 to rst.RecordCount-1
i = rst.Fields(какой-там номер столбца).Value
rst.Movenext()
if rst.Fields(бла-бла-бла).Value = -100000 then
rst.Fields(бла-бла-бла).Value = i
end if
next i
примерно так....если, что пиши.Удачи!
--------- От Винта!
Ответ отправил: DrakoN (статус: Студент)
Отправлен: 16.02.2006, 15:33