С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
wildwolf007
17 / 26 / 0
Регистрация: 11.10.2011
Сообщений: 379
Завершенные тесты: 1
1

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

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

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

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

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

Попытался чето реализовать, но понимаю что получается "не очень красиво". А с поиском не могу понять как его реализовать.
0
Вложения
Тип файла: rar Корреспондент.rar (23.8 Кб, 15 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2015, 21:27
Ответы с готовыми решениями:

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

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

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

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

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

30
wildwolf007
17 / 26 / 0
Регистрация: 11.10.2011
Сообщений: 379
Завершенные тесты: 1
24.11.2015, 10:55  [ТС] 21
Добавлено через 1 минуту
Цитата Сообщение от mobile Посмотреть сообщение
Вопрос предположительно о многострочном тексте в поле со списком. Если так, то ответ однозначный - аксовский комбо не показывает многострочные тексты.
Если же имелось в виду иное, то что именно?
Спасибо.
0
mobile
Эксперт MS Access
23338 / 13143 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
24.11.2015, 11:06 22
Лучший ответ Сообщение было отмечено wildwolf007 как решение

Решение

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

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

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

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

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

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

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

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

Насколько мое предложение "костыльное" может у Вас имеется другая интересная идея ?
0
VinniPuh
Эксперт MS Access
6335 / 3650 / 379
Регистрация: 27.03.2013
Сообщений: 13,444
02.12.2015, 22:05 29
Цитата Сообщение от wildwolf007 Посмотреть сообщение
...но когда выбираем в поле со списком отображается без отступов...
Не верую.
mobile - по умолчанию не может чего то там накосячить, может это вы сами где то чего то недоусмотрели и неправильно ввели.
1
wildwolf007
17 / 26 / 0
Регистрация: 11.10.2011
Сообщений: 379
Завершенные тесты: 1
02.12.2015, 22:19  [ТС] 30
Ну вот что получилось в поле корреспондент после выбора отображается без переходов на новую строку.
1
Вложения
Тип файла: rar 2015.12.01 1 Отправка почты.rar (69.7 Кб, 7 просмотров)
wildwolf007
17 / 26 / 0
Регистрация: 11.10.2011
Сообщений: 379
Завершенные тесты: 1
02.12.2015, 22:20  [ТС] 31
Но если добавим нового корреспондента с переходами на новую строку, то все будет норм.
0
02.12.2015, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 22:20

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

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

Удаление цепочки строк в связанных таблицах
Здравствуйте, Уважаемые форумчане! Подскажите, пожалуйста: как удалять...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru