|
|
|
| Здравствуйте!
Возникла производственная необходимость составить себе БД для автоматизации деятельности. Опыта мало, но делать базу надо, т. к. объём данных большой и его надо как-то обрабатывать.
В результате получилось следующее: http://slil.ru/28199820
Цель базы такова: вести оперативный учёт происшествий со следующей информацией: когда произошло событие, кто непосредственно участвовал, кто просто присутствовал в это время на работе и примечание. Отвечает за это форма "происшествия" и соответствующая таблица.
При этом т.к. народу много, хочется, что бы в форме "происшествия" была информация кроме ФИО персоны, ещё и его должность, ну и, возможно, другая информация.
Я, являясь полнейшим лохом в Accesse, решил сделать это подчинённой формой (т. к. по-другому вообще не вышло), но в эту форму упорно выводится ключевое поле таблицы "сотрудники", т.е. табельный номер, вместо его должности.
Я уверен, что ошибка дурацкая. Наверное, база неправильно спроектирована или запрос составлен идиотски. Но бьюсь второй день и последняя надежда только на вас, спецы. :) | |
|
| |
|
|
|
| А Вы сделайте основную форму на основании запроса, а не на прямую привязывая её к таблице.
Соединити Проишествия со всеми таблицами которые нужны в основной, вытащите необходимые поля и всё... Останеться только расположить поля в форме. | |
|
| |
|
|
|
| 1. Что делать если морд больше 4-х
Из таблы проишаствия на фиг всех морд. в отдельную таблу где из таблы Проишествия будет код проишествия, из таблы сотрудники будут виноватые морды - так и назвать "Mordi"
2. Желатедльно код поля в каждой табле (ID)
3. Исходя из 1-го в форму проишествие добавлем подчиненную форму на основании таблицы "Mordi".
4. Неправильное сопряжение основной и подчиненной формы у тебя получилось:
Подчиненные поля - ФИО;Подразделение;Должность
Основные поля - Основные фигуранты 1;Основные фигуранты 1;Основные фигуранты 1
т.е. поле ФИО=Основные фигуранты 1 - прокатило
Подразделение = Основные фигуранты 1 - не прокатило
Должность = Основные фигуранты 1 - опять лажа. | |
|
| |
|
14 Кб. |
|
| Вот сваял пример как должно быть и механизм. | |
|
| |
|
|
|
| Спасибо, товарищи.
Кот, Вам - орден Дзержинского. | |
|
| |
|
18 Кб. |
|
| Вот сделал более красиво и наглядно!!!! по двойному клику в форму Pro вводятся ФИО из Табеля - если много народу то ПролеСоСписком - не удобно. в конструкторе посмотри - поймешь че куда. | |
|
| |
|
|
|
| kot_k_k, спасибо!
Я вот всё пытаюсь понять, что значит в подчинённой форме "Mordy подчинённая форма" невидимое поле "FIO", у которого источник строк "SELECT Tabel.Kod_Tabel, FIO.FIO FROM FIO INNER JOIN Tabel ON FIO.Kod_FIO=Tabel.FIO; ",не смог понять, зачем это поле вообще.
И как удалить из "Mordy подчинённая форма" морду?
И если я хочу добавить информацию, по чьей рекомендации пришёл к нам гражданин работать и с кем он подружился - как мне лучше поступить? | |
|
| |
|
21 Кб. |
|
|
Не понимаю, как удалось сравнить FIO.Kod_FIO и Tabel.FIO, это же разные типы - счётчик и текст, и справка говорит, что
|
Посмотри в конструкторе на поле Tabel.FIO - это число оно содержит код из таблы FIO.Kod_FIO и у нему присоеденен столбец с ФИО (можно присобачить хоть 10, но поле Tabel.FIO будет содержать только Kod_FIO)
а невидимое для тго чтобы юзер руками по нему не лазил а использовал форму для ввода.
если наложить на него "Запретить изменения" то вызовет только вой со стороны тех же юзеров.
И как удалить из "Mordy подчинённая форма" морду?
|
Открой Проишествия - перейди в подчиненную и нажимай кнопку Delete в субформеформе.
И если я хочу добавить информацию, по чьей рекомендации пришёл к нам гражданин работать и с кем он подружился - как мне лучше поступить?
|
смотри пример - таблы!!!
в табле Recomend - FIO_Post - фио поступившего, FIO_Rec - фио давшего рекомендацию. может отсутствовать если Vid_rec вид рекомендации - агенство или сам зашел.
табла Lubi_Druzi аналогично, но т.к. она является по сути двухсторонней то записи дублировать не нужно - если написать что Вася (FIO_Post ) друг Пети (FIO_Rec) то писать Петя (FIO_Post ) друг Васи (FIO_Rec) не нужно - т.к. можно выбрать записи где
where FIO_Post ="Петя" OR FIO_Rec="Петя" | |
|
| |
|
|
|
| Разобрался. Ща буду формы пытаться наладить.
Что-то при даблклике на строках формы "Табель" вылазит ошибка - вбскрипт почему-то не видит форму PRO. Это с чем может быть связано? | |
|
| |
|
22 Кб. |
|
| если форма Pro закрыта то абсолютно правильно, в обработке написано
Forms!Pro![Mordi подчиненная форма]!FIO = Me.Kod_Tabel
Forms!Pro![Mordi подчиненная форма]!FIO.Requery
т.к. делал на скору руку, для того чтобы не выяснять открыта ли нужная форма можно через глабальные переменные.
вот пример переделал. там форма Табельотокрывается в режиме диалога глабольная переменная получает номер чела и по закрытию заности его в нужную позицию. | |
|
| |
|
|
|
| Ну я понял.
Нда, я думал, Access гораздо проще. А сейчас понимаю, что вообще в нём не рублю. Какая-то адская жесть. Справка не рулит абсолютно.
Вот например хочу я построить форму, что бы была информация о челе из таблицы Tabel (фио и т. д.) и что бы были подчинённые формы, в которых было бы, где он светился (выборка из Pro), с кем дружит и кто его сюда привёл. С тем, что бы где он светился показало и кто привёл - просто. Там всё связано между собой и я худо-бедно сделал, что бы он по человеку показывал эту инфу. Но что бы дружбу-любовь показал - не могу ничо придумать. Пробовал отбирать, запросы делать, но в ответ только ругань. | |
|
| |
|
44 Кб. |
|
| форма Табель1 - подчиненная к ней Lubi_Druzi | |
|
| |
|
23 Кб. |
|
| вот еще пример - связи родительской и дочерней формы. они делаются при помощи мастера - только при выборе полей таблиц нужно выбрать поля из одной таблы и потом из другой - тогда Акс сам запросит вариант формирования связи между формами. Посмотри как они связаны на схеме данных. | |
|
| |
|
|
|
|
| это не чушь ему хоть на чем-то показать надо, лучшего примера под рукой не было | |
|
| |