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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Защита от ошибок
 
 автор: Едрёныч   (20.10.2009 в 16:14)   личное сообщение
34 Кб.
 
 

Вопрос этот я уже задавал, но без примера и ответа не получил. Вопрос следующий как заставить или привязать как-то фильтрацию к значениям только своей строки. Т.к. кто-нибудь может ошибиться и не закончив выборку в одной строке перескочить в другую строку и продолжить выбор уже там, см. строку 6 в примере. Может существует обработчик ошибок какой-нибудь? Или способ привязки к текущей строке?

  Ответить  
 
 автор: kot_k_k   (20.10.2009 в 17:23)   личное сообщение
 
 

Можно сделать следующее:

делаем Глобальную переменную Global
при загрузке
Global =me!Счет ' первая запись

на Текущая запись вешаем
If me!Счет<>Global then
    значит перешли на другую запись, 
     set Prov=me.recordsetclone
    Prov.FindFirst("счет =" & Global " and (Nz(вид,0) =0 or Nz(тип,0)=0 or Nz(поставщик,0)=0)")
    if NoMatch = False then
         сообщение об ошибке и перемещаем Фокус на ошибочную запись.  
      else
          Если все ОК то - присваиваем Global новый Код записи 
    Global =me!Счет
  end if
end if
т.о. юзер никак не сможет соскочить с записи если она не полная.

  Ответить  
 
 автор: Едрёныч   (20.10.2009 в 17:27)   личное сообщение
 
 

спасибо за ответ, попробую.

  Ответить  
 
 автор: kot_k_k   (20.10.2009 в 17:35)   личное сообщение
 
 

Можно по другому, если работаем с временной таблой. При команде Сохранить (Провести) - когда заносим все из временной таблы в основную проверка на наличие пустых полей

set Prov=currentdb.Openrecordset("select * from заказ where Nz(вид,0) =0 or Nz(тип,0)=0 or Nz(поставщик,0)=0")
if prov.eof=false -> вой про ошибки и требование нужные поля заполнить, и не сохраняем пока неисправят, или как вариант эти записи при переносе в основную таблу не учитывать (бедные юзеры).

  Ответить  
 
 автор: Lukas   (20.10.2009 в 17:40)   личное сообщение
60 Кб.
 
 

Вот как реализована "защита" от подобных ошибок в Ms Money 5.0:

  Ответить  
 
 автор: Едрёныч   (20.10.2009 в 17:53)   личное сообщение
 
 

Большое спасибо, а то я уже и не знал, что делать. Как-будто с этой проблемой никто кроме меня никогда не сталкивался. Нигде не отвечали.

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