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

Форум: MS ACCESS

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

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

 
 

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

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

тема: борьба с записями бомжами в подчиненной таблице
 
 автор: АлексейAlex   (26.05.2009 в 23:43)   личное сообщение
36 Кб.
 
 

Разбирал пример и заметил такую странность.

1. Есть форма
2. на ней вкладки с подчиненными табл

  Ответить  
 
 автор: АлексейAlex   (26.05.2009 в 23:43)   личное сообщение
68 Кб.
 
 

так вот, если начать вводить инфу с подчиненной формы, а потом закрыть форму не заполняя основную форму, то, в подчиненной таблице поселяются записи не зарегистрированные ни к одной записи.

  Ответить  
 
 автор: Goblin   (27.05.2009 в 00:16)   личное сообщение
 
 

Собственно интересно как они там вообще могут появляться. Акс должен орать как резаный об ошибках.
Либо в связях таблиц нет 1:много и он терпит такое издевательство.
Ну зачем заполнять подчиненную таблицу, не привязывая ее к чему-либо. Или зачем привязывать подчиненную делать, если основная не нужна.
По идее, если все было сделано правильно, то акс должен сам дать сообщение типа
"Данной записи должно соответствовать..." или как-то так. Кароче, в структуре ошибка видимо.
Или я опять чего-то не так понял.

  Ответить  
 
 автор: АлексейAlex   (27.05.2009 в 06:46)   личное сообщение
31 Кб.
 
 

связь один ко многим. Вот это-то меня и удивило.

  Ответить  
 
 автор: Анатолий (Киев)   (27.05.2009 в 10:18)   личное сообщение
 
 

У этой связи должна быть включена поддержка целостности данных, а связанные поля - обязательными.

  Ответить  
 
 автор: joka   (27.05.2009 в 11:00)   личное сообщение
 
 

мне кажется ест ьпростой выход из ситуации! просто выставить у подчиненной формы свойство Enable в False, и разрешать толкьо после заполнения каких-то значимых полей на основной!

  Ответить  
 
 автор: Goblin   (27.05.2009 в 20:22)   личное сообщение
 
 

Ключевые поля везде всадить на все связи.

  Ответить  
 
 автор: АлексейAlex   (27.05.2009 в 22:13)   личное сообщение
 
 

везде есть ключи)

ps. когда я делаю в своих таблицах все норм, а тут фантастика))) кстати ваш пример присланный на мыло мне (пример Гоблина.mdb)

зы. в принципе этот вопрос перерос в чисто головоломку (для работы мне ответ не сильно нужен)

  Ответить  
 
 автор: Goblin   (27.05.2009 в 22:57)   личное сообщение
 
 

Ну про ключевые я просто так. Не обращай внимания. Что касается вопроса, то не совсем понятно. Если в основной записи нет, то все, что будет в подчиненной, будет привязано к никуда. Ни к чему. Поэтому придется снова перезапускать форму. Запись будет привязана к пустому полю. Если после сотрудника добавить, то у него свое значение счетчика будет, и никак не займет место в пустом поле, а создаст нового. Что бы пустых найти, надо таблицу открывать, так как по умолчанию там 0 ставится. А в основной нуля в принципе не может быть.
Кароче, следует заполнять все по порядку. Основная - кто и его паспартная часть, далее все остальное.
(Не следует заполнять карточку "Выговора" на будущих своих сотрудников, а потом только принимать их на работу.)

  Ответить  
 
 автор: АлексейAlex   (28.05.2009 в 00:11)   личное сообщение
 
 

))) это понятно, а если шеф такой попадется который сначало вкладку выговоры заполнять любит (будущим числом), а потом фамилию

  Ответить  
 
 автор: Goblin   (28.05.2009 в 07:29)   личное сообщение
75 Кб.
 
 

На всех дураков не угодить. Если шеф дебил, то и база ему не нужна. Его проблемы.
Ну по логике вещей подумай. Если в основной форме ничего нет, то на кого заполнять все подчиненные. Они на пустое место будут привязаны.
Можно заготовить бланки, шаблоны. Потом заполнить карточку сотрудников. Необходимые данные этих сотрудников будут автоматом подставляться в нужные места этих бланков, шаблонов. Так и в той базе сделано. Познакомившись с сотрудником и учтя его можно сразу распечатать отпускные, командировочные, ну и т.д. Но это будут бланки. Потом уже подставлять куда и когда. Заранее не предугадать.

PS Рассмотрел подробнее вашу ситуацию. Как удаляете записи Если по полосе выделения в главной форме, и после делом, то удаляется все. Сотрудник со всеми его записями. Если просто из ячеек в отдельности, то будет обезличивание. Пусть шеф подставляет на место бывших сотрудников фамилии новых, тогда все останется.
А у вас получается, что шеф, от нехрен делать влепил взыскания никому, а потом думает где найти того, кого под эти взыскания подставить. Пусть учтет Иванова И. И. и после этого ищет такого по всей стране для приема на работу.

  Ответить  
 
 автор: АлексейAlex   (28.05.2009 в 08:13)   личное сообщение
 
 

)))

  Ответить  
 
 автор: snipe   (28.05.2009 в 08:41)   личное сообщение
 
 

А может набор вкладок скрыть....нет человека - нет проблем (нет записи о нем и заполнять нечего)

  Ответить  
 
 автор: Анатолий (Киев)   (28.05.2009 в 10:21)   личное сообщение
 
 

Я обычно вешаю на событие Enter єлемента с подчиненной формой вешаю проверку на наличие главной записи и возвращаю фокус на главную.

  Ответить  
 
 автор: Гамлет   (28.05.2009 в 11:29)   личное сообщение
 
 

на событие Enter єлемента в подчиненной форме
или
на событие Enter для подчиненной формы?

  Ответить  
 
 автор: Анатолий (Киев)   (28.05.2009 в 14:29)   личное сообщение
 
 

У элемента-контенера с субформой есть события "Вход" и "Выход". Я об этом.

  Ответить  
 
 автор: Гамлет   (28.05.2009 в 19:34)   личное сообщение
 
 

Ok

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