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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Как создать форму для добавления записей?(access 2007)
 
 автор: julia89spb   (27.05.2011 в 13:19)   личное сообщение
 
 

Пытаюсь создать форму для добавления нового сотрудника в базу данных.
1. Создала пустую форму.
2. Сделала элемент "Набор вкладок"
3. Каждая вкладка будет содержать подчинённую форму (подчинённые формы соответствуют таблицам)

У меня не получается добавить отдел и должность. Т.к. они у меня вынесены в отдельные таблицы через код. Если я добавляю эти поля на первую вкладку (подчинённая форма на основе таблицы "Сотрудники"), то у меня перестают быть активными другие поля.

Не знаю, понятно ли описала проблему...Картинки сейчас добавлю

  Ответить  
 
 автор: julia89spb   (27.05.2011 в 13:20)   личное сообщение
74 Кб.
 
 

схема данных

  Ответить  
 
 автор: julia89spb   (27.05.2011 в 13:20)   личное сообщение
71 Кб.
 
 

форма для добавления с подчинённой формой

  Ответить  
 
 автор: julia89spb   (27.05.2011 в 13:22)   личное сообщение
12 Кб.
 
 

ещё вот такая ошибка
(и когда на не активные поля нажимаю в строке состояния тоже ошибки, например: "Добавление записей невозможно, ключ связи таблицы Sotrydniki не входит в набор записей")

  Ответить  
 
 автор: Волшебник   (28.05.2011 в 15:23)   личное сообщение
47 Кб.
 
 

может Лукас скажет

  Ответить  
 
 автор: julia89spb   (28.05.2011 в 20:02)   личное сообщение
 
 

спасибо!) я сделала сама, но благодаря Вам убедилась, что правильно:))
у меня теперь другая проблема:) как удалить сотрудника и чтобы все записи о нём во всех таблицах удалились? с помощью создания кнопки и выбора там "Обработка записей->удалить запись" не получается...пишет, что выполнение макрокоманды не возможно

  Ответить  
 
 автор: час   (28.05.2011 в 22:46)   личное сообщение
 
 

С помощью запроса на удаление записей из таблиц - отобранных в этом запросе по критерию отбора - то есть фамилия-условие отбора = Иванов.
------------------------------------------
Но пока это у Вас получиться - пройлёт не менее 3х дней

  Ответить  
 
 автор: julia89spb   (29.05.2011 в 00:17)   личное сообщение
 
 

мне нужно, чтобы это было с помощью кнопки. Такое возможно сделать?...

Может даже и больше дней пройдёт:) мне это тяжело даётся...

  Ответить  
 
 автор: Stanislav   (29.05.2011 в 15:20)   личное сообщение
 
 

Это нормальная ситуация, когда тяжело дается. Главное, что в принципе дается.
Сделать с помощью кнопки конечно можно - это классический способ.
Сейчас акс не дает тебе удалить запись о сотруднике, потому что в других таблицах есть записи, которые ссылаются на эту записью (через поле 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

  Ответить  
 
 автор: julia89spb   (29.05.2011 в 23:33)   личное сообщение
 
 

поздно я прочитала сообщение...я мучилась, мучилась и в итоге сделала на форме для редактирования кнопку:)
оказалась,что на форме для просмотра данных нельзя удалять, а на форме для редактирования всё получилось) наверно, это не очень оригинально, но главное же, чтобы работало:)
спасибо за совет! я приму к сведению на будущее!:)

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