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

Форум: MS ACCESS

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

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

 
 

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

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

тема: ACCESS 2003
 
 автор: nighina   (23.10.2007 в 14:40)   личное сообщение
 
 

Помогите найти ошибку!!! Почему для одних SP считает на 1 меньше, для других - правильно??

rcd1.MoveFirst
Do While rcd1.EOF() = False
k = IsNull(Left(rcd1!sp07, 5))
If k = False Then
ksp = Left(rcd1!sp07, 5)
shrsis = 0
shrab = 0
Do While Left(rcd1!sp07, 5) = ksp
If rcd1!CAT_STAFF = 4 Then
shrab = shrab + rcd1!KOLVO
End If
If rcd1!CAT_STAFF < 4 Then
shrsis = shrsis + rcd1!KOLVO
End If
rcd1.MoveNext
If rcd1.EOF() = True Then Exit Do
Loop
With rcd5
.AddNew
!sp07 = ksp & "0000"
rcd3.Seek "=", ksp & "0000"
If rcd3.NoMatch = False Then
!naim = rcd3!naim07
End If
!shrsis = shrsis
!shrab = shrab
.Update
End With
End If
If rcd1.EOF() = True Then Exit Do
rcd1.MoveNext
Loop

СПАСИБО ЗАРАНЕЕ

  Ответить  
 
 автор: Силыч   (23.10.2007 в 15:37)   личное сообщение
 
 

обычно в таких ситуациях на строчке
Do While rcd1.EOF() = False

ставится точка останова (F9)
и запускается скрипт на выполнение
Shift+F8 - "зайдёт во вложенную процедуру"
F8 - пошагово выполнение инструкции
F5 - дальше

во время пошагового выполнения
пользуйтесь окном ImmidiateWindow
и ?ВашаПеременная для отображения информации и её анализа

или Debug.Print ВашаПеременная;ДругаяВашаПеременная

удачи

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