|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Приветствую, уважаемые форумчане. В своей базе я сделал запрос, в нем выводятся поля из двух таблиц. Запрос формируется нормально, но вот при обращении к этому запросу через Recordset получаю сообщение что мало параметров и Требуется 1. Но запрос то заполнен, вот он передо мной и в нем есть записи. ничо не понимаю. К стати проверил, что если в запросе нет условия для отбора записей, то все в порядке и VBA его видит, но при создании условия сразу же слепнет. Прошу Вашей помощи. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:17 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK получаю сообщение что мало параметров и Требуется 1 почти наверняка проблемы с кавычками для символьных полей поиска и запятыми для дробных числовых ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:22 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Запрос формируется нормально ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:27 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
Код: vbnet 1. 2.
Есть готовый запрос, сформированный посредством Акса, результат такой же. Условие есть- параметров мало, условия нет- все в порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:47 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
кто такой [действующий] ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 08:57 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
[действующий], это параметр, который при открытии запроса на экране у вас запрашивается (разве не так?). А в VBA этот параметр надо либо заменить в строке SQL на требуемое значение (например Статус='действующий'), либо открывать Recordset иначе (используя QueryDef). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 09:29 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK, я бы предпочла поделить строку, для наглядности Код: vbnet 1. 2. 3. 4. 5. 6.
пара секунд и ошибку сразу видно ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 10:13 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
А ннет. Не помогло Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Все таже проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 11:36 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вот в этом случае все работает прекрасно, НО мне нужно обратиться к запросу с выбранными данными, а не ко всем записям, содержащимся в таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 11:45 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK, это для символьного статуса Код: vbnet 1. 2. 3. 4. 5.
для числового кода ...... sql = sql & " WHERE Недееспособные.Статус=" & ME.[действующий] ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 11:50 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
еще раз...кто такой [действующий] кто он, что он и откуда берется? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 11:50 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Вот в этом случае все работает прекрасно, НО мне нужно обратиться к запросу с выбранными данными, а не ко всем записям, содержащимся в таблицах. Вам уже 100 раз задали вопрос, кто такой -действующий ??? Если это значение поля , по которому должно быть ограничение , то его нужно взять в кавычки как string , см. сдесь : https://www.sql.ru/faq/faq_topic.aspx?fid=157 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 11:54 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
DarkMan PavelPK Вот в этом случае все работает прекрасно, НО мне нужно обратиться к запросу с выбранными данными, а не ко всем записям, содержащимся в таблицах. Вам уже 100 раз задали вопрос, кто такой -действующий ??? Если это значение поля таблицы , по которому должно быть ограничение , то его нужно взять в кавычки как string , см. сдесь : https://www.sql.ru/faq/faq_topic.aspx?fid=157 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:05 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
bubucha, Есть поле в таблице "Статус" называется, он бывает "действующий", "умер" и "выбыл". Вот мне нужны сведения о действующих товарисчах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:07 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
DarkMan DarkMan пропущено... Вам уже 100 раз задали вопрос, кто такой -действующий ??? Если это значение поля таблицы , по которому должно быть ограничение , то его нужно взять в кавычки как string , см. сдесь : https://www.sql.ru/faq/faq_topic.aspx?fid=157 Блин , хотел изменить , а получилось новое сообщение . P.S Если слово действующий это значение поля таблицы , а далее см.выше. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:07 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK bubucha, Есть поле в таблице "Статус" называется, он бывает "действующий", "умер" и "выбыл". Вот мне нужны сведения о действующих товарисчах. Тогда зайдите в FAQ и почитайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:07 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK, Код: vbnet 1. 2. 3. 4. 5.
Попробуйте так . P.S. И в FAQ написано , копируете текст запроса , вставляете в конструктор запросов и смотрите что получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:11 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Ребят, вобще задача стоит собрать сведения из двух таблиц за определенный период, несколько столбцов объединить в один и полученную таблицу выпулить в Эксель. Вот. Думал через запрос все это сделать, но чтото пошло не так((( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:11 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Ребят, вобще задача стоит собрать сведения из двух таблиц Но в приведенном примере вроде как одна таблица и простой запрос. P.S как сказал бы sdku выложите пример в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:15 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
DarkMan, Большое спасибо, сроду бы не догадался эти ковычки воткнуть. Заработало. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:17 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
DarkMan, Нет, там две таблицы, я просто пока убрал лишнее ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:19 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK DarkMan, Большое спасибо, сроду бы не догадался эти ковычки воткнуть. Заработало. Не мне спасибо , Вам уже до меня намекали на это. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:19 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK сроду бы не догадался эти ковычки воткнуть. Ну это вроде святая , святых и не только для VBA . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:23 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
Прошу не материте сильно. Так выглядит код в SQL запросе. Запрос сам вполне нормально формируется и выводит то, что нужно. Проблема в том, что столбцы фамилия имя и отчество нужно объединить в один Данные паспорта тоже в один столбец нужно, ну и адрес соответственно тоже. Обратиться к этому запросу через Recordset не получается. Думал сформировать его через VBA и поставлять во временную таблицу. Вот. Как на духу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 12:40 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Обратиться к этому запросу через Recordset не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:03 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK, https://www.sql.ru/faq/faq_topic.aspx?fid=410 Если все параметры являются ссылками на контролы форм (Forms![ИмяФормы]![ИмяКонтрола]), тогда самое простое (и красивое) решение: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:06 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Как на духу. не уверена , что отбор по дате сработает Код: sql 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. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 13:23 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:39 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK, у вас два затыка: "выпулить в Эксель" и "столбцы объединить в один." 1. выпулить в Эксель Самый простой для вас способ - экспорт сохраненного запроса командой DoCmd.TransferSpreadsheet Эта команда понимает ссылки на элементы форм. Если, всё же, хотите одолеть Recordset, то пробуйте пример от Панунг. Но он для сохраненного запроса. Если SQL выражение создается на лету, то вместо Set q = CurrentDb.QueryDefs("ИмяЗапроса") надо Set q = CurrentDb.CreateQueryDef("", sql) 2. столбцы объединить в один А в чем проблема? Код: sql 1.
В этом примере в одну кучу собирается адрес, причем, если поля "Населенный пунктРег", "корпРег" или "квРег" пустые, то в итоге нет лишних вставок типа " корп.", " кв.". Но учтите, что если в результате конкатенации длина строки не должна превышать 255 символов, иначе с лишними символами начнутся чудеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:50 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Как то никогда не приходилось сохранять запросы. Подскажите как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 07:12 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Панург, Судя по всему из-за того что запрос не сохранен пишет "Не возможен запуск запроса на выборку" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 07:13 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Запрос на создание таблицы тоже не выполняет. Ругается на то, что в этих таблицах есть одинаковые имена. Блин, как все сложно то....... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:01 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Панург, Судя по всему из-за того что запрос не сохранен пишет "Не возможен запуск запроса на выборку" PavelPK, ты свой вопрос сделай в QBE (графический редактор запросов), убедись что всё правильно работает. Потом пользуйся кодом. Не понимаю, зачем тащить текст запроса в код VBA, тем более если плохо соображаешь что к чему. Да потом ещё приходится проделывать ту же самую операцию, что я указал выше, при отладке строки запроса формируемой в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:15 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK Кривцов Анатолий, Как то никогда не приходилось сохранять запросы. Подскажите как это сделать. Имели ввиду что сохранён сам запрос, как объект, а не его содержимое (не данные). Сохранённый запрос появится там же где и таблицы и формы в левой части окна Access. У сохранённого запроса будет Имя - это и значит что он сохранённый. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:24 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
Да уж, натупил я здесь..... В общем работает код Панурга. Спасибо всем, ребята. Дело в том что при создании запроса с самого начала, он присваивает имена таблицы с указанием собственно имени самой таблицы, а вот уже при добавлении полей в режиме конструктора в запрос, имя таблицы уже не выводит. Тоесть с самого начала допустим имя "Недееспособные_Фамилия: Фамилия", а при добавлении в конструкторе уже пишет просто фамилия. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:32 |
|
Обращение к запросу через VBA
|
|||
---|---|---|---|
#18+
PavelPK ....а вот уже при добавлении полей в режиме конструктора в запрос, имя таблицы уже не выводит. Тоесть с самого начала допустим имя "Недееспособные_Фамилия: Фамилия", а при добавлении в конструкторе уже пишет просто фамилия. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 11:08 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610100]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 298ms |
total: | 561ms |
0 / 0 |