|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Прошу совета. Форма для регистрации нарушения (на рис.). Свободная. Источники комбо прописаны sql и заполняются при загрузке. После чего разносятся по разным таблицам. Вопрос в разделе "сведения о нарушителе". Мучают сомнения как лучше организовать выбор этого самого нарушителя. Данные берутся из таблицы People. Мои варианты: 1. Подформа с источником - таблицей People или запросом на основе этой таблицы со своим фильтром в заголовке. (на форуме мнения разнятся, но мне на глаза больше отрицательные попадаются). 2. Просто комбобокс с источником - запросом с peopleid в качестве связного поля, которое потом будет разноситься в другие таблицы. Но тогда как реализовать отражение нужной записи в полях формы (фамилия, имя, отчество, дата рождения). 3. Поля (ФИО и дата) в основной форме, заполнение через рекордсет и фильтрация (код не получается, просидел три дня, вчера психанул)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 11:35 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekks, Я бы привязался к серии и номеру паспорта например (все равно без этих действующих данных никак), после их ввода получишь один из двух вариантов: 1. Сообщение о том что такого нарушителя пока нет в БД и предложение заполнить другие (все) поля. 2. Если нарушитель уже есть - остальные поля заполняться в форме автоматически. В вашем случае вообще никакой автоматизации нет, чтобы узнать это старый иди новый нарушитель нужно набрать все поля для точной идентификации, причем правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 12:19 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekks, почему например не по первым буквам в фамилии? очень удобно, конечно кодить посложнее, зато работать удобно , ведь думаю народу там будет внесено много. пример - создан запрос, в котором начальные буквы данных из таблицы TradeMark (у меня) сгруппированы (слева буковки - это списки) Код: vbnet 1. 2. 3.
Модератор: Вложение удалено. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 12:32 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekks, -в источник строк поля со списком-включить ВСЕ поля с необходимыми данными(свойство к-во столбцов) -отобразить нужные(свойство ширина) после обновления Combo: me.фамилия=me.Combo.Column(1) me.имя=me.Combo.Column(2) и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 13:15 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
вдогонку:добавить поле, соответственно справочник, с группировкой по какому либо признаку(решать Вам),создать зависимый combo,значительно сократив его список ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 13:21 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
vmagLekks, Я бы привязался к серии и номеру паспорта например (все равно без этих действующих данных никак), после их ввода получишь один из двух вариантов: 1. Сообщение о том что такого нарушителя пока нет в БД и предложение заполнить другие (все) поля. 2. Если нарушитель уже есть - остальные поля заполняться в форме автоматически. В вашем случае вообще никакой автоматизации нет, чтобы узнать это старый иди новый нарушитель нужно набрать все поля для точной идентификации, причем правильно. у меня четыре поля по нарушителю, кроме ключа - фамилия, имя, отчество и дата рождения, другие данные не нужны. Проверка на значение - в комбо на событии NotinList по полю "фамилия". sdkuLekks, -в источник строк поля со списком-включить ВСЕ поля с необходимыми данными(свойство к-во столбцов) -отобразить нужные(свойство ширина) после обновления Combo: me.фамилия=me.Combo.Column(1) me.имя=me.Combo.Column(2) и т.д. Вроде мой вариант № 2))) Блин... Зациклившись на рекордсете простого решения не увидел)))) Спасибо, примерно так и нужно. sdkuвдогонку:добавить поле, соответственно справочник, с группировкой по какому либо признаку(решать Вам),создать зависимый combo,значительно сократив его список А вот это не понял, простите))) Для чего и куда? Я еще не очень вник в access)))) Уточню, на всякий случай - форма используется для записи в 4 таблицы, все комбо по сути берут данные из справочников. И только данные нарушителя берутся именно из таблицы People. Вопрос то именно в том, как организовать забор данных из этой таблицы в форму. Вариант sdku мне в принципе нравится. Хотелось бы конечно что то типа отображения всех людей из таблицы и их фильтрации по мере набора букв фамилии (на событии KeyDown например). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 16:44 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
добавлю:а зачем брать данные из tbl People-достаточно записать значение кодового поля из неё, отразив на форме любые данные из записи с этим кодом(а не набирать их-что неизбежно приведет к ошибкам) в tbl People.А вообще хотелось бы взглянуть на Вашу схему и узнать какие задачи решает БД ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 17:56 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
sdku достаточно записать значение кодового поля из неё, отразив на форме любые данные из записи с этим кодом Эх, терминология ((( Собственно, это я и имел ввиду под фразой "брать данные"... схема (неполная, доработана впоследствии, но без глобальных изменений) : Организация доступа Задачи: 1. Учет нарушений как граждан, так и сотрудников 2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.) 3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 18:15 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
LekksЗадачи: 1. Учет нарушений как граждан, так и сотрудниковграждан всея Руси или только её части Lekks2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.)какой деятельности и по каким направлениям Lekks3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.)любой АНАЛИЗ без проблем запросами при правильной организации хранения данных:таблицы и схема данных В той схеме что Вы предложили глянуть, Все (одну-две можно понять)связи без сохранения целостности данных, что неминуемо приведет к ошибкам и в конечном итоге "поломке" БД ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2018, 20:24 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
LekksХотелось бы конечно что то типа отображения всех людей из таблицы и их фильтрации по мере набора букв фамилии (на событии KeyDown например).на KeyUp попроще будет: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
"фамилия"-имя поля по которому проводится поиск ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:14 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekks, используйте поле со списком из 2х столбцов - первый код(Скрытый столбец), второй - фио. Встроенный автокомплит по фамилии - больше ничего и не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:20 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
ОзверинLekks, используйте поле со списком из 2х столбцов - первый код(Скрытый столбец), второй - фио. Встроенный автокомплит по фамилии - больше ничего и не надо. В общем-то уже... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:09 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Только как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найти ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:11 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
sdkuLekksЗадачи: 1. Учет нарушений как граждан, так и сотрудниковграждан всея Руси или только её части Части, очень небольшой ))) sdkuLekks2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.)какой деятельности и по каким направлениям деятельность по направлению выявления нарушений и привлечения к ответственности по результатам их рассмотрения (процесс рассмотрения упускается sdkuLekks3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.)любой АНАЛИЗ без проблем запросами при правильной организации хранения данных:таблицы и схема данных В той схеме что Вы предложили глянуть, Все (одну-две можно понять)связи без сохранения целостности данных, что неминуемо приведет к ошибкам и в конечном итоге "поломке" БД С анализом то мне все понятно: запросы-отчеты, как визуализация запроса. А вот с целостностью непонятно. Не вы первый это отмечаете, но я не могу понять где и что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:16 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
LekksТолько как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найти зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:27 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Озверин, моим пользователям это будет понятнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:33 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
LekksТолько как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найтиDropdown Даже из того кратенького описания задач БД понятно следующее: Таблицы: граждане нарушения сотрудники направления деятельность какяТоГлавная(объединяющая,в которую подставляется все из вышеперечисленных таблиц) ну и фсё (полно и конкретно сформулированная задача 60-80% успеха при создании БД) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:36 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
sdku, вроде все так ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:46 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
LekksА вот с целостностью непонятно. Не вы первый это отмечаете, но я не могу понять где и что не так?если создана связь с сохранением целостности Вам не удастся создать в таблице со стороны многие запись со значением поля связи отсутствующем в таблице со стороны один (если в таблице со стороны один имеются записи с кодом 1,2,3 то в подчиненную таблицу Акс позволит ввести в поле связи таблицы со стороны многие значения 1,2 или 3 при задании любого другого значения отразится сообщение об ошибке и запись сохранена не будет, а при связи без сохранения целостности можно ввести любое значение-запись будет "повисшей в воздухе"-не привязана к записи таблицы со стороны один) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:51 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
sdkuесли создана связь с сохранением целостности... понял уже))) там схема предварительная))) перед началом создания форм и запросов все связи на сохранение целостности поставил)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:55 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekkssdku, вроде все такда нет не так: Почему таблица группы "нарушения" является объединяющей(у Вас на схеме таковой не наблюдается вообще) хотя это должен быть просто справочник с перечнем нарушений(его можно сделать зависимым от категории:граждане-сотрудники,добавив таблицу категории) Короче "скелет" схемы должен быть таким как я Вам предложил,а уж наращивать его можно сколь угодно. БД удобно создавать "с конца"-делаете таблицу с полями в которых хотите видеть конечный результат, а затем таблицы-справочники в которых храните(дополняете по необходимости) перечень возможных значений. По мере заполнения главной таблицы(сделав зависимые списки сокращаете количество записей в них используя заполненные поля в качестве критерия отбора для RowSourse) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 19:32 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Lekksу меня четыре поля по нарушителю, кроме ключа - фамилия, имя, отчество и дата рождения, другие данные не нужны. Проверка на значение - в комбо на событии NotinList по полю "фамилия".проверку нельзя проводить по полю "фамилия"-а если в таблице 2 Иванова полных тезки да и с одинаковой датой рождения?(это маловероятно,но возможно)-только по ключу(а это серия и номер паспорта)-лучше всего счетчик-мое мнение ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 19:44 |
|
И снова фильтрация
|
|||
---|---|---|---|
#18+
Вставлю свои 5 копеек. Со слепу что то не видно по схеме, и как старый и почетный работник правоохранительных органов , предположу, что один и тот же злодей может совершить сразу несколько злодеяний за раз и по одному в разные периоды времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 20:18 |
|
|
start [/forum/topic.php?fid=45&fpage=40&tid=1611024]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
43ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 317ms |
total: | 475ms |
0 / 0 |