|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Условие отбора запроса выглядит вот так: Код: vbnet 1.
Подскажите, как в запросе использовать переменную, вместо этой строки. Что-то типа Код: vbnet 1.
Ещё одно условие, другого запроса: Код: vbnet 1.
или присвоить эту последовательность функции строкового типа, и использовать её в качестве условия отбора. Код: vbnet 1. 2. 3.
------------------------------------------------------------------------ Спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:34 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Переменная существует для VBA-кода и не существует для SQL. Так что просто формируй SQL-строку запроса с использованием нужного значения переменной - а потом выполняй. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:39 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Если запрос - это статический запрос, то модифицируй его QueryDef. И потом не сохраняй... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:40 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Akina, спасибо за ответ, но ведь я могу передать в запрос переменную, используя функцию строкового типа: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:42 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Akina, или вот так. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:45 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Угу... как ОДИН параметр. А тебе их надо четыре. Потому как в SQL твоё условие будет выглядеть не так, как ты показываешь переменную: час58 Код: vbnet 1.
а вот так: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:48 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Akina, Ага.... блин. По очереди передавать условия отбора? и по очереди смотреть результат... 4 раза... только так, да? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:54 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
просто у меня запрос "KTI_GKH_QUE" в нём условие отбора в виде строки, которую я хочу впихнуть в переменную а затем этот запрос используется в коде. Код: vbnet 1.
И код получается без наворотов. Просто смотрю, есть ли в результатах запроса искомое или нет. А если формировать SQL строку запроса, то как с ней потом работать? Или как работать с результатом ей работы? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:02 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, у функций есть аргументы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:20 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
alecko, Это хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:22 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58А если формировать SQL строку запроса, то как с ней потом работать? тебе же ответили в первом сообщении AkinaТак что просто формируй SQL-строку запроса с использованием нужного значения переменной - а потом выполняй. Что еще и расшифровать ? Я вообще то думал, что человек научившийся ездить на велосипеде автоматически умеет ездить на самокате... Ты ж летом всех пытал на тему как спрятать все запросы в код? А чем это отличается от того? - Создаешь плюшевый (временный от балды) сохраненный запрос - Потом через qs.SQL меняешь ему текст с готовой кучей лайков - Потом работаешь как с обычным сохраненным запросом, как будто он у тебя уже был... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:47 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
vmag, Хорошо, что хоть ты помнишь, что было летом.... Я блин, так часто кодю, что забываю как это делается. :-) --------------- Спасибо тебе. Попробую переварить и применить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:50 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58По очереди передавать условия отбора? и по очереди смотреть результат... 4 раза... только так, да?Начать с того, что внимательно посмотреть на данные. Вот тебе точно позарез необходим LIKE? У тебя точно ПОДстрока? или "Рога", "Копыта" и т.п. - это точное и полное значение поля искомой записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:02 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, VBA использовать категорически низя? Вариант на VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:06 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, Код: vbnet 1. 2.
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:27 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Akina, Это подстрока. В ней не только конкретно "рога". Там может быть любое предложение, но оно содержит подстроки типа рога, шапка, справки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 08:25 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
sdku, Спасибо за пример. Попробую так сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 08:30 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, Есть ещё 1 вариант. Создаёте отдельную таблицу, ну скажем " tblParameter ". Пускай у этой таблице будет 2 поля: Report, Parameter . Я не знаю как называется Ваш отчёт для которого фильтруете данные, ну пусть будет "Отчёт № 1". В данную таблицу добавите записи типа так: Код: sql 1. 2. 3. 4. 5. 6.
А потом можете использовать в запросах эти параметры вот таким образом: Код: sql 1. 2.
Правда запрос станет НЕ обновляемым . Если же Вам нужен обновляемый запрос, то тогда нужно будет изменить текст запроса чуть-чуть по другому (правда будет работать запрос чуть-чуть медленнее): Код: sql 1. 2.
Ну и в будущем можете записи таблицы менять " tblParameter " как угодно. Соответственно будете получать разное количество записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 08:21 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, Прошу прощения, во 2-запросе слегка ошибся. :) Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 08:50 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
Спасибо studieren ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 08:57 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58, Спасибо всем за помощь. Задача стояла - править набор в одном месте, а не во всех случаях его использования в коде. делал так: Фот функция, в которой хранятся наборы Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
И использование функции в личных целях: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 09:07 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58Фот функция, в которой хранятся наборы Ну вообще такие задачи не хардкодят обычно, а хранят все в таблицах и вытаскивают запросами ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 13:07 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
MrShinНу вообще такие задачи не хардкодят обычно, а хранят все в таблицах и вытаскивают запросами Да может он несказанно рад, что без него никак, всяко бывает, на зонтики перейдут - опять позовут, опять денежка... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 16:20 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
vmag, Золотые слова!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 17:40 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
MrShin, Дело в том, что при "поступлении Зонтиков", в программе столько всего менять приходится, что в код всё равно лезть придётся. Вроде всё предусмотрел, вроде думал отдам программу и пользывайтесь, но они мне сразу сказали - наивный вы програмер Сергей. И ведь - как в воду глядели. Такие выкрутассы придумывают с каждым новым видом рогов и копыт, что добавить одно слово-позицию в набор - это мне будет как два пальца обласкать. Как та так. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 17:46 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58Дело в том, что при "поступлении Зонтиков", в программе столько всего менять приходится, что в код всё равно лезть придётся. я так думаю это что-то типа приема платежей (жкх, прочее)... Появление нового вида оплаты (услуг) подразумевает появление нового алгоритма расчета и соответственно кода... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 18:52 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
vmag, не могу прям в открытую сказать, что ты типа ясно видящий. Но в точку. Приём платежов... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 18:57 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58MrShin, Дело в том, что при "поступлении Зонтиков", в программе столько всего менять приходится, что в код всё равно лезть придётся.а вот это недопустимо.Одним из главных пунктов задания на проектирование БД должно быть требование неизменности кода при любых изменениях данных.При соблюдении этого требования,возможно, не возникнет вопрос,которому посвящен этот топик ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 19:18 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
sdku, А почему заказчик должен заранее знать, с чем ему придётся столкнуться, при заключении договора на обслуживание с очередным поставщиком услуг для населения? Это как такое возможно, если у каждого из имеющихся на планете поставщиков услуг - свои особенности? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 19:30 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58не могу прям в открытую сказать, что ты типа ясно видящий. Но в точку. Приём платежов... могу предсказать тебе ближайшее будущее (максимум год-два) - если не предложишь систему оплаты онлайн через сайт конторы (которого возможно еще и нет), можешь остаться за ботом, ну или останется от тебя только модуль по работе с кассовым аппаратом для живой очереди... я просто не в курсе г. Энгельс в фарватере прогресса или нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 21:06 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
vmag, и щас мы имеем от меня только модуль работы с фискальником ШТРИХ. Прога собирает платежи, отдаёт чеки и со всех точек собирает платежи в единую базу. Потом выгружает ексель, дбф, текстовые файлы - кому что надо. Каждый поставщик услуг со своими заморочками. Кто во что горазд. Ну и само собой отчёты распечатывает кому какие треба. Народ ещё не перелез на онлайн платежи. Даже с карточками приходят и оплачивают в кассу безналом... Так что прогресс, для многих, тёмный лес. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 21:16 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
час58sdku, А почему заказчик должен заранее знать, с чем ему придётся столкнуться, при заключении договора на обслуживание с очередным поставщиком услуг для населения? Это как такое возможно, если у каждого из имеющихся на планете поставщиков услуг - свои особенности?А потому что пользователь должен ВЫБРАТЬ значение конкретного поля в записях которые он хочет увидеть,а перед этим эта(допустим услуга или товар) должен быть занесен в таблицу (допустим услуги или товары-иначе Вы хотите увидеть то о чем в БД нет данных),а выбор должен формироваться на основе значений (а не текста)поля-тогда Вы можете отобрать "любой товар любого поставщика на планете" без редактирования кода.Я Вам предлагал подобный вариант 21740671 (кстати варианты:все услуги(товары) в список со множественным выбором,или формировать строку отбора по мере выбора, создание таблицы с готовыми перечнями,но это значительно хуже т.к. предусмотреть все варианты невозможно) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 00:13 |
|
Переменная, как условие отбора в запросе
|
|||
---|---|---|---|
#18+
sdku, Да, спасибо, прекрасный вариант. Он меня натолкнул на мысль. Но код править приходится не из-за выбора товара, а из-за требований, которые предъявляются индивидуально к каждому наименованию. и ни кто не знает, какие заморочки готовит очередной поставщик услуг. У каждого из них уже как-то налажена отчётность и прочие моменты. И поставщик не хочет, да и не может у себя всё изменить в угоду нам, потому что у него есть другие операторы приёма платежей. И весь этот клубок оговорок, заморочек и просьб - должен работать. А потому, для каждого вида платежа, приходится писать индивидуальный блок кода. Так что поправить в этот момент функцию под новые нужды, для меня не составит труда. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 09:08 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1611015]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 174ms |
0 / 0 |