powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / большое количество данных в запрос, по типу LIKE[]
27 сообщений из 27, показаны все 2 страниц
большое количество данных в запрос, по типу LIKE[]
    #39290240
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
Добрый день.
Нужен запрос по типу Like[], но что бы в него можно по необходимости вводить больше значений.
Например есть база заказов. Заказы не как друг с другом не связаны, но 4 заказа едут в один магазин, и мне нужно вывести их в одной форме. Просто если брать Like[] то там можно ввести только один заказ, а нужно больше. И их бывает по 20 шт.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290258
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы посоветовал пересмотреть архитектуру базы. Должно быть поле с признаком, по которому можно определить, в какой магазин отправлять. Можно сделать запрос с вычисляемым полем, в котором этот признак будет вычисляться по номеру заказа. Использовать Like, тем более с "*" в начале строки нужно с осторожностью, т.к. запрос будет сканировать всю таблицу, скорость на больших объемах будет никакая.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290272
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
в том то и дело что не к чему прикрепиться, я читал что можно как то сделать например: вывести список заказов на форму, и там допустим галочками отмечать какие нужны. Если так можно сделать то можно и так.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290291
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSHв том то и дело что не к чему прикрепиться
А как будете прикрепляться с помощью Like? Можно пример?
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290300
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
с помощью Like [] прикрепляется только один заказ например: like[22222222]
можно конечно еще прописать Like [22222222] Or Like [33333333] Or Like [44444444]....., но это не вариант. Он выдаст эти три заказа, но их может быть больше, или меньше.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290313
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSH,
Такой способ использования Like ничем не отличается от "=". Если вам не нужно использовать подстановочные знаки типа "*" и "_", то можете использовать оператор IN, там можно перечислять сколько угодно значений через запятую.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290317
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если все же нужно использовать подстановочные знаки и искать по части значения, то можно слелать запрос с вычисляемой колонкой равной параметру поиска, который вы будете задавать, а в критерии колонки, по которой искать прописать Like "*" & [param] & "*"
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290325
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
у меня есть список заказов, допустим:
111111,
222222,
333333,
444444,
555555,
666666,
777777.
их не чего не объединяет.

но нам за 1 час присылают разбивку по ним кто куда поедет.
и получается что:
111111,
333333,
444444,
666666.
эти заказы грузятся в одну машину, а остальные по разным.
и мне нужно что бы я ввел все четыре заказа и они мен вывели таблицу. с номером заказа что в нем и тд.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290355
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так запишите необходимые номера в специально созданную таблицу и соедините таблицу со всеми отрибутами заказа с этой новой таблицей, запрос покажет только отобранные записи
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290356
Если заказы указывать в текстовом поле формы через запятую, то можно обойтись малой кровью - использованием в запросе EVal([Поле таблицы] & " In (" & Forms![Имя]![Поле] & ")")

Красивше - список с множественным выделением на форме. Тогда нужно написать функцию, которая получает значение поля и в цикле сравнивает со выделенными значениями в списке.
Функцию использовать в запросе.

Можно и гибрид из этих вариантов - по нажатию кнопки в скрытом поле сформировать текст, а затем п.1
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290357
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
атрибутами
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290633
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев )Красивше - список с множественным выделением на форме

сомневаюсь
этот способ хорош, если с справочнике 15-25 позиций(в размер экрана)
наряд заказов же может быть много больше
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290750
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
Доброе утро.
А как сделать, что бы я мог в запрос добавлять заказы. Столько сколько нужно.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290757
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSH,

сделайте рабочую табличку типа

таб1 -таблица отправки
--код1 --счетчик
--код/номер авто
--дата отгрузки

а в таблицу заказы добавьте поле для привязки к таблице отправки
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290917
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
Не все таки нам это не подходит.
нам нужно что то вроде вот этого:
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290921
BSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSH
Гость
и когда записали все заказы он выводит отчет.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39290934
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSH,

это частный случай моего предложения -- отчет может понадобиться и за вчерашний день и за неделю и за месяц
это может реализоваться и парой таблиц
таб1 -таблица отправки
--код1 --счетчик
--код/номер авто
--дата отгрузки

таб2 --аналог вашей таблицы
--код2
--код1
--номера заказов

но надо проверять, не повторяется ли н/заказ в разных отправках
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39308256
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Столкнулся с аналогичной проблемой.Имеетс таблица1 в которой идет общая информация о событиях, и имеется таблица2, в которой указаны данные по конкретному событию. Имеется текстовое поле и в таблице1 и в таблице2 с названием события.
Задача: выбрать все данные из таблицы1 в описании которых встречается транспорт.

Мои пути решения:
Код: plsql
1.
select * from tab1 inner join tab2 on tab1.nomer=tab2.nomer where tab2.sob like '*Транспорт*'

однако данный запрос ничего не возвращеает. Вышел из проблематики нагромаздив "костыли" в виде дополнительных запросов и программ, которые в цикле "перебирают" все значения поля nomer и через like его подставляют в отдельные запросы для tab1 и tab2, на основании полученных выборок уже программно компаную отчет. Проблема в том, что таким способом очень долго отрабатывается один потенциальный nomer который подходит для обоих таблиц...
Пробовал использовать
Код: plsql
1.
select * from tab1 where tab1.nomer is (select nomer from tab2 where tab2.sob like '*Транспорт*')

но в результате тоже пустота

Вопрос: Подскажите пожалуйста 1) Как использовать стандартные Join с текстовыми полями (чтобы не городить кастыли в виде дополнительных запросов); 2) Подправьте пожалуйста мои кривые запросы чтоб они заработали.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39308277
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэп, чтобы не задавать лишних вопросов, попробуй заменить "*" на "%"
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39308467
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\ккэп, чтобы не задавать лишних вопросов, попробуй заменить "*" на "%"

Пробовал, результат тот же... Дело в том что если по отдельности делаю запросы они выполняются и дают тот результат который нужен. Т.е. я отдельно могу найти и таб1 и в таб2 записи у которых
Код: plsql
1.
tab1.nomer like '*123/321*'

, но если я ставлю что
Код: vbnet
1.
tab1.nomer = '123/321'

то результат пустой. Нужно ставить именно содержит причем не пойму почему. В таблице к этому полю применяется
Код: vbnet
1.
trim(tab1.nomer)

и даже в таком варианте при ипользовании
Код: vbnet
1.
=

не находит, а вот если like то находит...
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39308488
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ккэп,
Trim не режет непечатные символы типа табуляции, скорее всего там что-то затесалось подобное.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39308950
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinккэп,
Trim не режет непечатные символы типа табуляции, скорее всего там что-то затесалось подобное.

Да дело в том что тупо считаю количество символов и выходит что там нет ни пробелов, ни табуляций, ничего....
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39309049
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ккэп,

Т.е. Len(tab1.nomer) для строки из примера выдает 7? Чудеса какие-то.
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39309052
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, а какие типы полей nomer в обеих таблицах? Просто Text(255)?
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39309206
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinДа, а какие типы полей nomer в обеих таблицах? Просто Text(255)? да просто текст
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39309252
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ккэп,

Очень интересно. А можно на пример базы посмотреть, где эти две таблицы, которые не хотят по текстовому полю соединяться?
...
Рейтинг: 0 / 0
большое количество данных в запрос, по типу LIKE[]
    #39309468
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinккэп,

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

БД 700 мб....Постараюсь сделать вырезку только тех таблиц которое есть в запросе и заполнить их парочкой данных....
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / большое количество данных в запрос, по типу LIKE[]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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