|
|
|
| Пытаюсь создать форму для добавления нового сотрудника в базу данных.
1. Создала пустую форму.
2. Сделала элемент "Набор вкладок"
3. Каждая вкладка будет содержать подчинённую форму (подчинённые формы соответствуют таблицам)
У меня не получается добавить отдел и должность. Т.к. они у меня вынесены в отдельные таблицы через код. Если я добавляю эти поля на первую вкладку (подчинённая форма на основе таблицы "Сотрудники"), то у меня перестают быть активными другие поля.
Не знаю, понятно ли описала проблему...Картинки сейчас добавлю | |
|
| |
|
74 Кб. |
|
| схема данных | |
|
| |
|
71 Кб. |
|
| форма для добавления с подчинённой формой | |
|
| |
|
12 Кб. |
|
| ещё вот такая ошибка
(и когда на не активные поля нажимаю в строке состояния тоже ошибки, например: "Добавление записей невозможно, ключ связи таблицы Sotrydniki не входит в набор записей") | |
|
| |
|
47 Кб. |
|
| может Лукас скажет | |
|
| |
|
|
|
| спасибо!) я сделала сама, но благодаря Вам убедилась, что правильно:))
у меня теперь другая проблема:) как удалить сотрудника и чтобы все записи о нём во всех таблицах удалились? с помощью создания кнопки и выбора там "Обработка записей->удалить запись" не получается...пишет, что выполнение макрокоманды не возможно | |
|
| |
|
|
|
| С помощью запроса на удаление записей из таблиц - отобранных в этом запросе по критерию отбора - то есть фамилия-условие отбора = Иванов.
------------------------------------------
Но пока это у Вас получиться - пройлёт не менее 3х дней | |
|
| |
|
|
|
| мне нужно, чтобы это было с помощью кнопки. Такое возможно сделать?...
Может даже и больше дней пройдёт:) мне это тяжело даётся... | |
|
| |
|
|
|
| Это нормальная ситуация, когда тяжело дается. Главное, что в принципе дается.
Сделать с помощью кнопки конечно можно - это классический способ.
Сейчас акс не дает тебе удалить запись о сотруднике, потому что в других таблицах есть записи, которые ссылаются на эту записью (через поле tab_number).
Поэтому сначала надо удалить все записи об этом сотруднике в дочерних по отношению к Sotrudniki таблицах (Private, Otpusk, Obrazovanie, Deti), а потом уже из родительской Sotrudniki. Делается это так:
Private Sub EmployeeDelete_Click()
'проверим, что выбран сотрудник
If nz(Me.tab_number, 0)=0 Then
MsgBox "Выберите сотрудника!", vbExclamation
Exit Sub
End If
'спросим, нужно ли удалять запись о сотруднике:
If MsgBox("Удалить запись о сотруднике?", vbQuestion + vbYesNo + vbDefaultButton2, "Внимание!") = vbNo Then
Exit Sub
End If
'удаляем записи:
DoCmd.RunSQL "DELETE Private.* FROM Private WHERE tab_number=" & Me.tab_number
'аналогично для таблиц Otpusk, Obrazovanie, Deti
'и заключительная строка:
DoCmd.RunSQL "DELETE Sotrudniki.* FROM Sotrudniki WHERE tab_number=" & Me.tab_number
End Sub
|
| |
|
| |
|
|
|
| поздно я прочитала сообщение...я мучилась, мучилась и в итоге сделала на форме для редактирования кнопку:)
оказалась,что на форме для просмотра данных нельзя удалять, а на форме для редактирования всё получилось) наверно, это не очень оригинально, но главное же, чтобы работало:)
спасибо за совет! я приму к сведению на будущее!:) | |
|
| |