|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Добрый день. Me.date_s - дата начала периода поиска Me.date_to - дата, по которую ищем. date_contract - дата договора в таблице Вопрос : Как в запрос добавить условие поиска по date_contract в промежутке от date_s до date_to Код: vbnet 1. 2. 3. 4. 5. 6.
пробовал через between, не получилось в инете вычитал такой, вариант, но он тоже не сработал Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 08:08 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 09:49 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
ROI, видел подобные темы. Делал, но не работает Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 10:05 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
а именно проявляется так, отчет открывается в режиме конструктора и в поле "источник записей" стоит Код: vbnet 1.
хотя, если период даты убираю, то отчет норм открывается ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 10:07 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, Код: vbnet 1.
тынц пункт 3 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 10:25 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, благодарю за решение, и в тоже время пока задача не решилась. отчет всё так же открывается в режиме конструктора. предполагаю, что такой запрос Код: vbnet 1.
не может access переварить в качестве "источника данных", возможно, спец символы не пропускает Код: vbnet 1.
а как можно по-иному сделать выгрузку и её поставить в качестве источника данных отчета? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 10:44 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 10:46 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstarа как можно по-иному сделать выгрузку и её поставить в качестве источника данных отчета? похожу, что у вас лищние кавычки Format(date_to, "mm\/dd\/yyyy") & "#" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 11:47 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, да, Вы правы, помогло. Но я так и не понял почему лишние. access их сам добавлял, стираю, опять добавляет. пришлось удалить две кавычки и select остался "не закрытым" работает, спасибо и на этом) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 12:06 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Прошу еще помочь. Вот так работает, но вопрос в том, что если con равна NULL, то ошибку выбивает. Вопрос : как сконструировать запрос, чтобы при con = NULL работало? Код: vbnet 1. 2. 3. 4. 5.
Думал в сторону, что если NULL то подставлять другой параметр, но тогда слишком сложно получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 13:22 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, появление кавычек-чудо,а я чудеса объяснять не умею(разве Вы что-то писали,акс поставил кавычки в конце строки,затем середина была удалена,а кавычка в конце строки осталась и в середину что-то было дописано) Как вариант-посмотрите(форма "выбор"): ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 13:39 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, спасибо. Теперь стало понятно по датам. А вот когда select по нескольким where и только в момент запроса понятно какие поля с условиями отбора заполнил пользователь. вот тут не понято как организовать запрос, возможно, Вы из опыта знаете ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 13:42 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, сам запрос работает, а вот если хотя бы один из трех параметров отбора пустой, то выбивает ошибку. не пойму, как сделать, чтобы если хотя бы один параметр введен, то запрос выполнялся пробовал вот так, ID же по-любому не нулевое, но не сработало Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 13:46 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar....Думал в сторону, что если NULL то подставлять другой параметр, но тогда слишком сложно получается.правильно думали-до передачи критериев(значений полей)проверить их заполнение-а дальше варианты: -если оба пусты не открывать отчет с выводом MsgBox -если "С" пустое а "ПО" заполнено передать в "С" заведомо раннюю дату типа 1.1.1960 -если "С" заполнено а "ПО" пустое передать в "ПО" заведомо позднюю дату типа 1.1.2060 короче решайте сами ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 13:54 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, Я же показал как это делать без запроса,а Вы все о нем(запросе) толкуете Почитайте справку про OpenReport-не помню сколько,знаю что много-Вам хватит,символов может быть в четвертом аргументе и если критерий не один используйте в нем операторы AND и OR ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 14:06 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar....А вот когда select по нескольким where и только в момент запроса понятно какие поля с условиями отбора заполнил пользователь. вот тут не понято как организовать запрос, возможно, Вы из опыта знаете формировать строку WHERE и использовать ее при открытии отчета-гляньте как её сформировать если часть полей пуста(ф-таблица1): ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 14:13 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, благодарю, через фильтр тоже буду знать. я решил вот таким способом: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 14:24 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstarsdku, благодарю, через фильтр тоже буду знать. я решил вот таким способом:.... И что это работает??? Любопытства ради распечатайте и покажите "s" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 15:11 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, предпочитаю немного иную запись условия(не требует выбора обеих дат) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 15:40 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, отлично работает! а что значит "распечатать s"? я протестировал все комбинации (по очереди удаляя данные с полей, комбинируя их) и каждый раз сработало как нужно. опирался на то, что если поля нет, то в запросе ничего и не добавляется ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 15:49 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstarа что значит "распечатать s"? В процедуре после присвоения переменной S значения написать: Код: vbnet 1.
значение S отобразится в окне отладке редактора VBA Редактор VBA>View>Immediate Window(ctr+G) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 16:08 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, ррработает как автомат калашникова) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 18:44 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, в показанном на скрине случае будут найдены numb_contract:111,212,313 и еще много других содержащих "1"-Вам именно такой поиск нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 19:26 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
вдогонку:а где переменная dc (с датами)-ведь когда date_s и date_po не пусто(а что будет если date_s пусто?) dc инициализируется Закомментируйте строку On Error GoTo er1, саму инструкцию er1 и посмотрите где споткнется(остановится) процедура ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 19:56 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, да, работает прям как надо. Однако, не работает если сделать вложенный запрос. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Debug.Print показывает Код: sql 1.
всё же верно, почему не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 06:28 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, Вот лично я не могу понять откуда такая упертость-Вам показали как получить желаемый резуьтат (я и "пенсионерка"),на худой конец вполне реально,сделать источником запрос с параметрами(и форму для их ввода,или пусть запрашивает в штатных диалогах).Нет мы будем все усложнять! Или вы считаете что чем больше кода+вложенный запрос тем "круче",хотя чем меньше кода и "телодвижений",я и многие другие так считают, "это круто" как же процедура будет работать верно,если в строке SQL(SELECT) никак не фигурируют даты, а почему они в строку не попадают Вы не объясняете(в первую очередь себе) За сим откланиваюсь и хочу пожелать успехов в борьбе со сложностями,которые искусственно создаются и не удачно преодолеваются ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 10:56 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, услышал. Дело в том, что я ищу оптимальное решение. БД рас положена на удаленном сервере. Вы предложили загрузить в форму все данные, а потом фильтровать, но их десятки тысяч строк и это будет оч долго. Поэтому я ищу вариант как сначала запросом отобрать данные, а потом к форме подключить источник данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 11:40 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
итого задачу решил через функцию DISTINCT, пришлось убрать GROUP BY Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 12:04 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Для тех кто в танке:sdku.....,на худой конец вполне реально,сделать источником запрос с параметрами....Если это не оптимально то я английская королева ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 12:35 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
sdku, не сердчайте. я искренне не понимаю, что такое запрос с параметрами. я же его и сделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 13:14 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, поясняю:в свойствах отчета,в строке источник данных пишете имя запроса(или инструкцию SQL,не создавая объект-запрос) создав форму для ввода параметров а в запросе в строке условия отбора написав ссылку на неё и фсё.... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 14:02 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar, возможно забыли пробелы перед ключевыми словами, добавьте debug.print strSQL = "select * " _ & " from z_tab_search_consumer " _ & " where id_consumer > 0" _ & nd _ & ul _ & fl _ & inn_n _ & cp _ & ao debug.print strsql strSQL1 = "select * " _ & " from " _ & " (" _ & strSQL _ & ") " _ & " where id_consumer > 0 " _ & " GROUP BY id_consumer;" debug.print strsql 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 14:25 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
или strSQL1 = "select w.* " _ & " from " _ & " (" & strSQL & ") w " _ & " where w.id_consumer > 0 " _ & " GROUP BY w.id_consumer" debug.print strsql1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 14:30 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Всем привет. У меня есть переменная w2 , которой присваивается следующее значение Код: vbnet 1.
Все прекрасно работало до определенного момента. Потом вдруг стала появляться ошибка type mismatch. Поле на форме имеет формат: краткий формат даты. Переменная объявлена. Никаких изменений формы не было. Упростил конструкцию до Код: vbnet 1.
но все равно ошибка Пытался искать решение на форумах, но везде информация про функцию format, которая пользователям помогала, но я ее и так применяю. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 16:59 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
quickstar....Вы предложили загрузить в форму все данные, а потом фильтровать, но их десятки тысяч строк и это будет оч долго.... Не выдумывайте-я предложил создать свободную(не содержащую никаких данных) форму с полями в которые вводятся критерии и кнопкой-основываясь на значениях этих полей создать запрос, запустить его,нажав на кнопку и уже запрос(инструкция SQL) извлечет только нужные Вам данные-как-то так: Код: vbnet 1. 2. 3.
и т.д до 32000 символов(упаси меня, господь, от такого). В таблице ctl-число,ctl1-дата,ctl2-текст.Рекомендую прочесть HELP про свойство SQL и изменять его у существующего запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 17:53 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Кстати,если id_consumer ключ-счетчик,то id_consumer>0 всегда TRUE и зачем это поле в критерии? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 18:15 |
|
Как задать промежуток дат в запросе select
|
|||
---|---|---|---|
#18+
Создаете в БД запрос(простейший) с именем "gru",форму для ввода параметров и можете на экране видеть любую выборку (на форме можно разместить список содержащий отображаемые данные и в зависимости от выбора в списке менять инструкцию SQL) в БД будет храниться один запрос а не 10 Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2019, 14:17 |
|
|
start [/forum/search_topic.php?author=realist_&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 1793ms |
total: | 2057ms |
0 / 0 |