Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Составной ключ - как создать форму? / 5 сообщений из 5, страница 1 из 1
29.11.2004, 20:59:39
    #32804826
Stepana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составной ключ - как создать форму?
Уважаемые, посоветуйте!

Есть необходимость сделать форму на основе трех таблиц:

1) Таблица "Проекты", где есть единственный ключ "Код Проекта" и набор неключевых полей для занесения данных;
2) Таблица "Регистрация проектов", где есть три ключевых поля: 1) "Номер документа", 2)"Наименование предприятия", 3) "Код Проекта". Поле 2 необходимо, т.к. номера документов могут повторяться у разных предприятий. Поле 3 "Код Проекта" является стороной "М" в связи 1:М с первой таблицей "Проекты". Все эти три поля образуют составной ключ (т.е. номер, привязанный к соответствующему проекту) для перехода к следующей таблице;
3) Таблица "Финансирование" состоит из 4 ключевых полей: 3 поля составного ключа из предыдущей таблицы и поле "Год" (подгружается список годов из справочной таблицы). Также в этой таблице есть неключевое поле "Сумма финансирования" для разнесения сумм по нескольким годам.

При попытке создать единую форму, где в главной форме отображается поле "Код Проекта", в подчиненной - поля "Номер документа" и "Наименование предприятия", а в подчиненной к подчиненной - поле "Год" вместе с полем для ввода "Сумм финансирования", система выводит запрос параметра для полей "Номер документа" и "Наименование предприятия", причем по несколько раз подряд, а потом подвисает.

Можно создать две формы. В первой к полю "Код Проекта" будут привязываться поля "Номер док." и "Наим. предпр.", а во второй, где будут те же поля, уже вручную заносить, введенные в первой форме значения и привязывать к ним суммы финансирования по годам. По сути, это то же самое введение требуемого параметра для идентификации ранее введенной записи. Получается не очень удобно.

Вопрос - Есть ли возможность все же использовать единую форму и каким образом?

Спасибо!
...
Рейтинг: 0 / 0
30.11.2004, 01:17:27
    #32804920
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составной ключ - как создать форму?
Не вижу проблем. У меня подобная схема работает. Если запрашивает параметры, похоже что-то не так с полями связи форм.
...
Рейтинг: 0 / 0
30.11.2004, 15:19:14
    #32805981
Stepana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составной ключ - как создать форму?
Alexander GНе вижу проблем. У меня подобная схема работает. Если запрашивает параметры, похоже что-то не так с полями связи форм.
Спасибо! Похоже, что я чуток перемудрил со связями...

Однако у проблемы есть продолжение:
При конструировании единой формы подчиненная часть автоматически строится на основе инструкции SQL через SELECT ... AS, ... AS ... FROM ... INNER JOIN ... ON ...=... (которая, насколько я могу догнать, определяет работу того самого составного ключа). Но дело в том, что БД защищена на уровне пользователей и к несчастной форме должен быть ограниченный доступ отдельного пользователя через запрос на выборку. А что делать, если уже есть вышеупомянутая инструкция? Как тогда ограничить доступ к этой форме?

Посоветуйте, пожалуйста!
...
Рейтинг: 0 / 0
30.11.2004, 17:11:43
    #32806277
Stepana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составной ключ - как создать форму?
Люююдиии!!!
Пож., ну хоть намекните, с какого бока к этому подойти!!!
...
Рейтинг: 0 / 0
30.11.2004, 17:26:32
    #32806338
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составной ключ - как создать форму?
как что делать?
создать нужный запрос
сохранить его в базе
и поменять источник данных формы
на этот запрос
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Составной ключ - как создать форму? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]