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

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

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

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

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

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

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

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

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

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

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

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

Решение

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

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

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

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

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

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

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

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

Насколько мое предложение "костыльное" может у Вас имеется другая интересная идея ?
0
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,573
02.12.2015, 22:05 29
Цитата Сообщение от wildwolf007 Посмотреть сообщение
...но когда выбираем в поле со списком отображается без отступов...
Не верую.
mobile - по умолчанию не может чего то там накосячить, может это вы сами где то чего то недоусмотрели и неправильно ввели.
1
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
02.12.2015, 22:19  [ТС] 30
Ну вот что получилось в поле корреспондент после выбора отображается без переходов на новую строку.
Вложения
Тип файла: rar 2015.12.01 1 Отправка почты.rar (69.7 Кб, 8 просмотров)
1
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
02.12.2015, 22:20  [ТС] 31
Но если добавим нового корреспондента с переходами на новую строку, то все будет норм.
0
02.12.2015, 22:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2015, 22:20
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru