Показать сообщение отдельно
  #11  
Старый 21.12.2009, 10:46
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Попорядку. Что я сделал для приведения в рабочее состояние с минимумом усилий:
- Изменил базу. Все объединил в одну таблицу ( не вижу смысл в таком разбиении и связи построены не правильно ) и создал один справочник ( типы статусов) он позволит легко фильтровать и сортировать по статусу, избежав ошибок ввода когда одного пишем "отпуск", другого "в отпуске".
если и делать еще таблицы, то я бы создал справочник типов телефонов (рабочий, домашний ) и выделил таблицу тилефонив ( код сотрудника, тип телефона, номер ) - тогда для каждого можно любое количество телефонов записывать.

- создал одно MainADOConnection: TADOConnection - он содержит строку соединения и управляет соединением для всех таблиц. Его отключение отключает все таблицы.
- присоединил к MainADOConnection два TADOTable ( для основной таблицы и справочника ). каждая привязана к своей таблице (для справочник больше ничего и не надо )
- войной клик по tbSotrudniks и добавил все записи (выделяя каждую можно уже редактировать ширину, надпись, видимость... )
- и создал ( в tbSotrudniks) одну запись просмотра для статуса.
Если хочешь посмотреть на данные в дизайнере сделай tbSotrudniks активной ( только потом лучше сбросить соединение в MainADOConnection ).
- как ты говорил добавил нужные столбцы в Грид и настроил их он теперь привязан к одной таблице ( если хочешь чтобы он работал для нескольких таблиц базы и отображал не все столбцы, придется писать дополнительный код, т.е. настраивать во время исполнения )
- добавил MainActionList: TActionList; и создал там стандартные действия, привязав их к пунктам меню и кнопкам чтобы не делать два раза одно и тоже ( поменяй в действии DataSetEdit1: TDataSetEdit; Caption на "Редактировать" - она поменяется и в меню и на кнопке )
- Про редактирование в dsSotrudniks: TDataSource; поставил AutoEdit = False. Теперь таблица открывается для просмотра, а перед редактированием надо нажать кнопку "Изменить" - таблица перейдет в режим редактирования и станут доступны кнопки "сохранить изменения и "Отменить изменения".
- Включение таблицы можно перенести из меню в FormShow например.

- Ага исправил почему неработало "Изменить". (разницу ищи сам ).

- Перед очисткой полей надо перевести tbSotrudniks в режим редактирования и для занесения в базу зделать post.
Вложения
Тип файла: zip правка2.zip (36.5 Кбайт, 9 просмотров)
Ответить с цитированием