Patrice T
Ваша проблема заключается в том, что вы установили 16:30 в переменную dtShifTime
, а затем вы используете dtLateTime
при сравнении.
dtLateTime
не определен в настоящем Кодексе.
Используйте отладчик для просмотра значений переменных во время выполнения.
Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !
Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что должен делать ваш cpde, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]
Visual Basic / Visual Studio Video Tutorial - Базовая Отладка - YouTube[^]
Visual Basic .NET programming for Beginners - точки останова и средства отладки[^]
Отладка в Excel VBA - простые макросы Excel[^]
MS Excel 2013: введение в отладку VBA[^]
Как отладить Excel VBA - YouTube[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Цитата:
Я уже использую отладчик для поиска того, как работает код, но я понятия не имею, для какого условия проверять разницу во времени, потому что применяются некоторые условия
Поскольку вы работаете только по часам, у вас есть набор условий в течение дня и еще один, когда вы меняете день в смене.
[no name]
Я уже использую отладчик для поиска того, как работает код, но я понятия не имею, для какого условия проверять разницу во времени, потому что применяются некоторые условия