Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380

Поиск при наборе и сохранение в связанных таблицах

22.11.2015, 21:27. Показов 2307. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На форме присутствуют данные из двух таблиц. Таблицы между собой связаны отношением один к многим.

1) Нужно что б при наборе текста в поле формы "Корреспондент", производился поиск из таблицы корреспондент и подсвечивался, если такого корреспондента нет, то подсветка прекращалась и пользователь вносил нового контрагента в поле формы.
2) После нажатия кнопки "Ок" при сохранении учитывал идентификатор найденного или созданного нового корреспондента таблицы Корреспондент в поле "Код_корреспондента" таблицы РК.

Такой функционал имеется в Excel при наборе Excel подсказывает ранее набранный текст. Так же такая возможность присутствует в выпадающем списке, но в выпадающем списке невозможно добавить новую запись.

Попытался чето реализовать, но понимаю что получается "не очень красиво". А с поиском не могу понять как его реализовать.
Вложения
Тип файла: rar Корреспондент.rar (23.8 Кб, 15 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2015, 21:27
Ответы с готовыми решениями:

Контекстный поиск в связанных таблицах Access
Господа! Возможно кто либо, из продвинутых пользователей, сможет дать небольшой, наводящий совет. Есть простенькая база данных Access-2000...

Отбор записей с связанных таблицах
Доброго времени суток. Не подскажите, могу ли я отобрать заказы, которые не входят в табличку zakaz_zakaz_eks?

Отбор данных в связанных таблицах
Доброго времени суток форумчане. Имеется база данных с информацией о сотрудниках. В базе 4 таблицы: Сотрудники, Приказы, Подразделение,...

30
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
24.11.2015, 10:55  [ТС]
Студворк — интернет-сервис помощи студентам
Добавлено через 1 минуту
Цитата Сообщение от mobile Посмотреть сообщение
Вопрос предположительно о многострочном тексте в поле со списком. Если так, то ответ однозначный - аксовский комбо не показывает многострочные тексты.
Если же имелось в виду иное, то что именно?
Спасибо.
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.11.2015, 11:06
Лучший ответ Сообщение было отмечено wildwolf007 как решение

Решение

Но можно заменить символы перевода строки и возврата каретки на пробел в источнике комбо. Тогда весь текст будет виден. Запрос-источник примерно такой
SQL
1
SELECT Код, REPLACE([Наименование], chr(13) & chr(10)," ") FROM Корреспондент
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
24.11.2015, 11:12
Цитата Сообщение от wildwolf007 Посмотреть сообщение
Скажите, что не понятно в моем вопросе?
В нем все понятно, он просто не имеет смысла. Примерно как "как вылечить рыбу от воспаления легких". Его невозможно ни уточнить, ни переформулировать, ни ответить. У рыбы нет леких.

В аксес нет ячеек. Элемент управления "поле со списком" выводит только одну строку. Много строк выводит элемент "поле", но в нем нет подстановки текста по мере ввода.

Добавлено через 4 минуты
Так что, если вы хотите видеть именно многострочное поле в виде списка для выбора - предлагаю думать в направлении вот каком:

Сделать поле, в котором начать печатать текст. Рядом разместить вложенную ленточную форму, в которой показывать набор записей с полным адресом. По мере ввода теста в поле фильтровать набор записей в форме. По двойному клику на записи копировать ее текст в поле ввода.
0
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
24.11.2015, 11:32  [ТС]
mobile спасибо за Ваше предложение, но его принять нецелесообразно т.к. при печати данного адреса на конверте придется опять расставлять переносы.
0
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
24.11.2015, 12:39  [ТС]
При использовании поля со списком происходит подсвечивание набираемого текста это очень удобно. Прикрепил файл базы попробуйте набрать слово "ПАО" плюс наберите новое значение добавится новое значение в талицу.
texnik-san идея примерно понятна, а реализация немного затрудняюсь представить. Должен будет работать цикл, который будет считывать вводимые символы или это будет запрос?
Вложения
Тип файла: rar Отправка почты.rar (63.5 Кб, 7 просмотров)
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
25.11.2015, 08:19
Цитата Сообщение от wildwolf007 Посмотреть сообщение
т.к. при печати данного адреса на конверте придется опять расставлять переносы.
Не придется. Mobile не предлагает навсегда менять данные, хранящиеся в таблице. Он предложил вариант изменить форму их отображения в поле со списком. Так, чтобы адрес уместился в одну строку.

Добавлено через 8 часов 42 минуты
Цитата Сообщение от wildwolf007 Посмотреть сообщение
Должен будет работать цикл, который будет считывать вводимые символы или это будет запрос?
Нужен просто обработчик события "Внесены изменения" или "Изменение", который будет либо модифицировать запрос - источник данных вложенной формы, либо - что проще - просто применять к ней фильтр.
2
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
25.11.2015, 09:31  [ТС]
mobile спасибо за подсказку я не так понял. Хорошая идея попробую поколдовать.

Добавлено через 57 секунд
И заморачиваться с ленточной формой не нужно.

Добавлено через 11 минут
Попробовал все получилось. Спасибо всем. По теме даны исчерпывающие ответы.
0
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
02.12.2015, 22:00  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Но можно заменить символы перевода строки и возврата каретки на пробел в источнике комбо. Тогда весь текст будет виден. Запрос-источник примерно такой
SQLВыделить код
1
SELECT Код, REPLACE([Наименование], chr(13) & chr(10)," ") FROM Корреспондент
mobile, Ваше решение получилось, но когда выбираем в поле со списком отображается без отступов. Как сделать что б отступы все таки оставлялись в поле со списком после выбора? Хотя на функциональность это не влияет т.к. используется в дальнейшем ключевое поле, но это немного смущает и запутывает пользователя.

Предполагаю можно вывести где-нибудь невидимое поле в которое сохранить код выбранной строки и после обновления как-то перезаписать значение в выпадающем списке с замещением значения без переносов на значение с переносами ?

Насколько мое предложение "костыльное" может у Вас имеется другая интересная идея ?
0
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,053
02.12.2015, 22:05
Цитата Сообщение от wildwolf007 Посмотреть сообщение
...но когда выбираем в поле со списком отображается без отступов...
Не верую.
mobile - по умолчанию не может чего то там накосячить, может это вы сами где то чего то недоусмотрели и неправильно ввели.
1
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
02.12.2015, 22:19  [ТС]
Ну вот что получилось в поле корреспондент после выбора отображается без переходов на новую строку.
Вложения
Тип файла: rar 2015.12.01 1 Отправка почты.rar (69.7 Кб, 8 просмотров)
1
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
02.12.2015, 22:20  [ТС]
Но если добавим нового корреспондента с переходами на новую строку, то все будет норм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2015, 22:20

Необходимо найти запись в связанных таблицах
Есть таблица, находим в ней строку, нужно выбрать строки из других таблиц, связанных "один-ко-многим" с этой строкой. Это можно...

Как реализовать запрос в связанных таблицах?
Есть 2 таблицы, в которых я перечислила только нужные поля. Документы (или накладные) Documents (название таблицы) DocId...

Маска ввода в связанных таблицах. ACCESS
ACCESS. Надо создать маску ввода в индексированное (ключ) поле (text), чтобы автоматически появлялась буква C (латинская), а потом 4 цифры....

Синхронизация связанных полей в разных таблицах
Добрый день! Подскажите пожалуйста, как реализовать автоматическое добавление связанных полей на основе добавления главного. То есть,...

Автоматическое подставление индекса в связанных таблицах
Есть две таблицы: "Квартиры" (с полями "Номер квартиры", "Номер дома", "Улица") и "Жители" (с полями "ФИО",...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru