powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И снова фильтрация
25 сообщений из 98, страница 1 из 4
И снова фильтрация
    #39732311
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу совета.

Форма для регистрации нарушения (на рис.). Свободная. Источники комбо прописаны sql и заполняются при загрузке.
После чего разносятся по разным таблицам. Вопрос в разделе "сведения о нарушителе". Мучают сомнения как лучше организовать выбор этого самого нарушителя. Данные берутся из таблицы People. Мои варианты:
1. Подформа с источником - таблицей People или запросом на основе этой таблицы со своим фильтром в заголовке. (на форуме мнения разнятся, но мне на глаза больше отрицательные попадаются).
2. Просто комбобокс с источником - запросом с peopleid в качестве связного поля, которое потом будет разноситься в другие таблицы. Но тогда как реализовать отражение нужной записи в полях формы (фамилия, имя, отчество, дата рождения).
3. Поля (ФИО и дата) в основной форме, заполнение через рекордсет и фильтрация (код не получается, просидел три дня, вчера психанул))))
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732343
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekks,

Я бы привязался к серии и номеру паспорта например (все равно без этих действующих данных никак), после их ввода получишь один из двух вариантов:
1. Сообщение о том что такого нарушителя пока нет в БД и предложение заполнить другие (все) поля.
2. Если нарушитель уже есть - остальные поля заполняться в форме автоматически.

В вашем случае вообще никакой автоматизации нет, чтобы узнать это старый иди новый нарушитель нужно набрать все поля для точной идентификации, причем правильно.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732355
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekks, почему например не по первым буквам в фамилии? очень удобно, конечно кодить посложнее, зато работать удобно , ведь думаю народу там будет внесено много.
пример - создан запрос, в котором начальные буквы данных из таблицы TradeMark (у меня) сгруппированы (слева буковки - это списки)
Код: vbnet
1.
2.
3.
str ="SELECT Left([Imya],1) AS Letter2, TradeMark.VidIzd " & _
"From TradeMark " & _
"GROUP BY Left([Imya],1), TradeMark.VidIzd;"



Модератор: Вложение удалено.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732384
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekks,
-в источник строк поля со списком-включить ВСЕ поля с необходимыми данными(свойство к-во столбцов)
-отобразить нужные(свойство ширина)
после обновления Combo:
me.фамилия=me.Combo.Column(1)
me.имя=me.Combo.Column(2)
и т.д.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732398
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:добавить поле, соответственно справочник, с группировкой по какому либо признаку(решать Вам),создать зависимый combo,значительно сократив его список
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732570
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagLekks,

Я бы привязался к серии и номеру паспорта например (все равно без этих действующих данных никак), после их ввода получишь один из двух вариантов:
1. Сообщение о том что такого нарушителя пока нет в БД и предложение заполнить другие (все) поля.
2. Если нарушитель уже есть - остальные поля заполняться в форме автоматически.

В вашем случае вообще никакой автоматизации нет, чтобы узнать это старый иди новый нарушитель нужно набрать все поля для точной идентификации, причем правильно.

у меня четыре поля по нарушителю, кроме ключа - фамилия, имя, отчество и дата рождения, другие данные не нужны. Проверка на значение - в комбо на событии NotinList по полю "фамилия".

sdkuLekks,
-в источник строк поля со списком-включить ВСЕ поля с необходимыми данными(свойство к-во столбцов)
-отобразить нужные(свойство ширина)
после обновления Combo:
me.фамилия=me.Combo.Column(1)
me.имя=me.Combo.Column(2)
и т.д.

Вроде мой вариант № 2))) Блин... Зациклившись на рекордсете простого решения не увидел)))) Спасибо, примерно так и нужно.

sdkuвдогонку:добавить поле, соответственно справочник, с группировкой по какому либо признаку(решать Вам),создать зависимый combo,значительно сократив его список

А вот это не понял, простите))) Для чего и куда? Я еще не очень вник в access))))

Уточню, на всякий случай - форма используется для записи в 4 таблицы, все комбо по сути берут данные из справочников. И только данные нарушителя берутся именно из таблицы People. Вопрос то именно в том, как организовать забор данных из этой таблицы в форму. Вариант sdku мне в принципе нравится.

Хотелось бы конечно что то типа отображения всех людей из таблицы и их фильтрации по мере набора букв фамилии (на событии KeyDown например).
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732603
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekks,
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732616
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавлю:а зачем брать данные из tbl People-достаточно записать значение кодового поля из неё, отразив на форме любые данные из записи с этим кодом(а не набирать их-что неизбежно приведет к ошибкам) в tbl People.А вообще хотелось бы взглянуть на Вашу схему и узнать какие задачи решает БД
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732633
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku достаточно записать значение кодового поля из неё, отразив на форме любые данные из записи с этим кодом

Эх, терминология ((( Собственно, это я и имел ввиду под фразой "брать данные"...

схема (неполная, доработана впоследствии, но без глобальных изменений) : Организация доступа

Задачи:
1. Учет нарушений как граждан, так и сотрудников
2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.)
3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.)
...
Рейтинг: 0 / 0
И снова фильтрация
    #39732704
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksЗадачи:
1. Учет нарушений как граждан, так и сотрудниковграждан всея Руси или только её части
Lekks2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.)какой деятельности и по каким направлениям
Lekks3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.)любой АНАЛИЗ без проблем запросами при правильной организации хранения данных:таблицы и схема данных
В той схеме что Вы предложили глянуть, Все (одну-две можно понять)связи без сохранения целостности данных, что неминуемо приведет к ошибкам и в конечном итоге "поломке" БД
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733055
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksХотелось бы конечно что то типа отображения всех людей из таблицы и их фильтрации по мере набора букв фамилии (на событии KeyDown например).на KeyUp попроще будет:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub поиск_GotFocus()
Me.поиск.SelStart = Len(Me.поиск.Text)
End Sub

Private Sub поиск_KeyUp(KeyCode As Integer, Shift As Integer)
DoCmd.ApplyFilter , "фамилия like'" & Me.поиск.Text & "*'"
End Sub

Private Sub показатьВсе_Click()
DoCmd.ShowAllRecords
Me.поиск = ""
End Sub

"фамилия"-имя поля по которому проводится поиск
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733058
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekks, используйте поле со списком из 2х столбцов - первый код(Скрытый столбец), второй - фио.
Встроенный автокомплит по фамилии - больше ничего и не надо.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733152
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОзверинLekks, используйте поле со списком из 2х столбцов - первый код(Скрытый столбец), второй - фио.
Встроенный автокомплит по фамилии - больше ничего и не надо.

В общем-то уже... Спасибо.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733153
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найти
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733157
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuLekksЗадачи:
1. Учет нарушений как граждан, так и сотрудниковграждан всея Руси или только её части

Части, очень небольшой )))

sdkuLekks2. Общий анализ результатов деятельности по данному направлению (за период, в сравнении и т.п.)какой деятельности и по каким направлениям

деятельность по направлению выявления нарушений и привлечения к ответственности по результатам их рассмотрения (процесс рассмотрения упускается

sdkuLekks3. Частный анализ (по видам нарушений, допущенных отдельным гражданином или сотрудником, выявленных отдельным сотрудником, сменой сотрудников в целом и т.п.)любой АНАЛИЗ без проблем запросами при правильной организации хранения данных:таблицы и схема данных
В той схеме что Вы предложили глянуть, Все (одну-две можно понять)связи без сохранения целостности данных, что неминуемо приведет к ошибкам и в конечном итоге "поломке" БД

С анализом то мне все понятно: запросы-отчеты, как визуализация запроса.
А вот с целостностью непонятно. Не вы первый это отмечаете, но я не могу понять где и что не так?
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733162
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksТолько как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найти

зачем?
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733172
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин, моим пользователям это будет понятнее.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733174
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksТолько как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найтиDropdown

Даже из того кратенького описания задач БД понятно следующее:
Таблицы:
граждане
нарушения
сотрудники
направления
деятельность
какяТоГлавная(объединяющая,в которую подставляется все из вышеперечисленных таблиц)
ну и фсё (полно и конкретно сформулированная задача 60-80% успеха при создании БД)
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733182
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
вроде все так
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733188
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksА вот с целостностью непонятно. Не вы первый это отмечаете, но я не могу понять где и что не так?если создана связь с сохранением целостности Вам не удастся создать в таблице со стороны многие запись со значением поля связи отсутствующем в таблице со стороны один
(если в таблице со стороны один имеются записи с кодом 1,2,3 то в подчиненную таблицу Акс позволит ввести в поле связи таблицы со стороны многие значения 1,2 или 3 при задании любого другого значения отразится сообщение об ошибке и запись сохранена не будет, а при связи без сохранения целостности можно ввести любое значение-запись будет "повисшей в воздухе"-не привязана к записи таблицы со стороны один)
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733192
Lekks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuесли создана связь с сохранением целостности...

понял уже))) там схема предварительная))) перед началом создания форм и запросов все связи на сохранение целостности поставил))))
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733207
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekkssdku,
вроде все такда нет не так:
Почему таблица группы "нарушения" является объединяющей(у Вас на схеме таковой не наблюдается вообще) хотя это должен быть просто справочник с перечнем нарушений(его можно сделать зависимым от категории:граждане-сотрудники,добавив таблицу категории) Короче "скелет" схемы должен быть таким как я Вам предложил,а уж наращивать его можно сколь угодно. БД удобно создавать "с конца"-делаете таблицу с полями в которых хотите видеть конечный результат, а затем таблицы-справочники в которых храните(дополняете по необходимости) перечень возможных значений. По мере заполнения главной таблицы(сделав зависимые списки сокращаете количество записей в них используя заполненные поля в качестве критерия отбора для RowSourse)
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733212
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lekksу меня четыре поля по нарушителю, кроме ключа - фамилия, имя, отчество и дата рождения, другие данные не нужны. Проверка на значение - в комбо на событии NotinList по полю "фамилия".проверку нельзя проводить по полю "фамилия"-а если в таблице 2 Иванова полных тезки да и с одинаковой датой рождения?(это маловероятно,но возможно)-только по ключу(а это серия и номер паспорта)-лучше всего счетчик-мое мнение
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733222
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставлю свои 5 копеек.
Со слепу что то не видно по схеме, и как старый и почетный работник правоохранительных органов , предположу, что один и тот же злодей может совершить сразу несколько злодеяний за раз и по одному в разные периоды времени.
...
Рейтинг: 0 / 0
И снова фильтрация
    #39733234
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LekksТолько как бы сделать, чтобы на GotFocus сразу комбо раскрывался?... Где то на форуме видел топик, не могу найти
Код: vbnet
1.
Поле.Dropdown
...
Рейтинг: 0 / 0
25 сообщений из 98, страница 1 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И снова фильтрация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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