Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19

В процедуре Sub не открывется запрос с условиями

13.04.2012, 20:33. Показов 2453. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, коллеги!

У меня интересная ситуация.

Запрос "УспеваемостьГруппы" открывается с помощью указанного ниже выражения, когда запрос свободен от условий.

Visual Basic
1
2
3
4
Dim dbAGUR As Database
Dim zprUSPdSVOD As Recordset
 
Set zprUSPdSVOD = CurrentDb.OpenRecordset("УспеваемостьГруппы")
Если в запрос включит например условие на отбор записей по группе ( из формы которая запускает этот запрос) Запрос отрабатывает верно , но в процедуре Sub отладчик указывает на ошибку в

Set zprUSPdSVOD = CurrentDb.OpenRecordset("УспеваемостьГру ппы")

Кто знает - подскажите, пожалуйста. В полдюжине книг по Access и VBA наити ответ не смог. Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2012, 20:33
Ответы с готовыми решениями:

Запрос с условиями
Здравствуйте! Пишу админку для галереи. Всё работает...но хотелось бы сделать всё работало красиво :) В общем есть 2 таблица в базе, одна...

Запрос с условиями
Здравствуйте! Пишу админку для галереи. Всё работает...но хотелось бы сделать всё работало красиво В общем есть 2 таблица в базе, одна...

Запрос с несколькими условиями
Здравствуйте Уважаемые! Необходимо опять Ваша помощь и вот в чем: Уважаемые знатоки: однажды ученик накидал маленькую учебную базу где...

24
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
13.04.2012, 21:28
Здравствуйте. Условие отбора - параметр или ссылка на поле формы? Если да, то его надо прописать в параметрах запроса
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,941
Записей в блоге: 4
13.04.2012, 22:58
Запрос "УспеваемостьГруппы"

где его текст, где форма вызова
0
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 18:02  [ТС]
Здравствуйте, shanemac51 и Pelena!
В doc1 показан фрагмент формы. В первом ПолеСоСписком (Группа) вызывается код группы.
В Doc2 запрос.
Запрос срабатывает верно и отбирает соответствующие записи верно. Более того я добавляю в него условия на Предмет из формы -работает штатно. НО
При попытке вызвать его в Sub-процедуре как

Visual Basic
1
2
3
4
Dim dbAGUR As Database
Dim zprUSPdSVOD As Recordset
 
Set zprUSPdSVOD = CurrentDb.OpenRecordset("УспеваемостьГруппы")
debager ругается.

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

Видимо для вызова с условиями надо добавлять параметры в Set ???
Подскажите как и что. Спасибо
Вложения
Тип файла: doc Doc1.doc (85.5 Кб, 10 просмотров)
Тип файла: doc Doc2.doc (86.0 Кб, 10 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,941
Записей в блоге: 4
14.04.2012, 18:33
выложите базу, уплотнив предварительно и архивировав

по вашим ворд-скринам ничего не видно

или попробуйте

Code
1
me.recordsource=currentdb.querydefs("УспеваемостьГруппы").sql
хотя здесь нужен обычный фильтр
1
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 19:37  [ТС]
Добрый вечер, shanemac51! С фильтром понятно. Ситуация разруливается и другими способами, но хочется понять, почему не работает вызов по Set, когда в конструкции запроса присутствуют условия отбора записей. Не люблю оставлять за спиной непонятки. Спасибо за участие и содействие.
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.04.2012, 19:39
Цитата Сообщение от ЭДСОЛ Посмотреть сообщение
Подскажите как и что
Параметры добавляются в режиме конструктора запроса. Найдите на панели инструментов (или в меню) кнопку ПАРАМЕТРЫ и запишите в открывшееся окно то, что у Вас в условии отбора, тип данных установите.
1
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 20:20  [ТС]
Добрый вечер, shanemac51 !

Фрагмент БД с ситуацией в ссылке.
Вложения
Тип файла: zip АУС.zip (32.7 Кб, 11 просмотров)
0
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 20:26  [ТС]
Добрый вечер, Pelena !

Попробовал всё тоже!

Только что в предыдущем посте отправил фрагмент БД с ситуацией. Если не затруднит посмотрите пожалуйста и поправьте в чём моё упущение. Спасибо!
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.04.2012, 21:38
Да, была у меня тоже такая проблема, решить удалось с помощью QueryDefs
Вложения
Тип файла: zip АУС.zip (29.4 Кб, 9 просмотров)
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
14.04.2012, 21:55
Могу рассказать почему такие проблемы происходят. Нужно четко прописывать тип переменной, по которому строится условие запроса. Я сейчас делаю проект, где нет вообще линкованных таблиц, запросов. То есть мастерю все по типу unbound форм и контролов. Обращение идет примерно при помощи такого же метода, как и у вас, только в ADO. У вас по умолчанию DAO. Мой совет, инициализируйте везде тип данных, много проблем отпадает.
1
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 22:02  [ТС]
Pelena, Большое спасибо за помощь. Теперь работает буду знать. Спасибо!

Добавлено через 2 минуты
Сергей1980, Вам также Большое спасибо. Буду учитывать впредь. Спасибо!
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.04.2012, 22:30
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Нужно четко прописывать тип переменной, по которому строится условие запроса
Где прописывать? В параметрах запроса прописали - не помогло
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
14.04.2012, 22:38
Я сейчас к сожалению с мобильника пишу, обозреть базу вашу не в состоянии. Покажите пожалуйста запрос, текст его, который не срабатывает.
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.04.2012, 22:53
Запрос не мой, но мне тоже интересно
SQL
1
2
3
4
5
PARAMETERS [Forms]![Успеваемость]![Группа] Text ( 255 );
SELECT Успеваемость.Студент, Успеваемость.Предмет, Успеваемость.ВидКонтроля, Успеваемость.Дата, Успеваемость.Оценка, Успеваемость.Семестр, Студенты.Группа, Студенты.Фамилия, Студенты.Имя
FROM Студенты INNER JOIN Успеваемость ON Студенты.Студент = Успеваемость.Студент
WHERE (((Студенты.Группа)=[Forms]![Успеваемость]![Группа]))
ORDER BY Успеваемость.Дата, Студенты.Фамилия;
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
14.04.2012, 23:05
Да это же просто каша полная. Убирайте ссылки типа Forms![form] итд итп. Есть возможность инициализировать пермеменную в модуле, по типу Public VarX As string. к примеру. И обратиться в запросе вот таким образом .....= "& VarX . Только не забудьте передать значение в глобальную эту переменную. Даже если это поле формы, повесьте сначала VarX = поле.value , а потом уже сошлитесь на нее в запросе

Добавлено через 2 минуты
И выражение PARAMETERS явно здесь лишнее. У нас же емае не создание сохраненной процедуры на сервере, не обращение к ней, а просто запрос в аксессе
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.04.2012, 23:31
Сергей1980, спокойнее
Запрос создавался, я думаю, в конструкторе, а в процедуре вызывался по имени. И вопрос-то был в том, почему сам по себе запрос работает, а из процедуры вызываться не хочет (если задан параметр в условии отбора). Глобальная переменная - это, конечно, хорошо, но ее ведь в конструкторе не используешь?
1
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 19
14.04.2012, 23:37  [ТС]
Pelena, Большое спасибо! Запрос действительно создавался в конструктореа в процедуре вызывался по имени. И вопрос-то был в том, почему сам по себе запрос работает, а из процедуры вызываться не хочет (если задан параметр в условии отбора). - ВСЁ ТАК И БЫЛО Вы правильно меня поняли и дали позитивный ответ. Спасибо!
Спасибо Сергей1980 за детальное разъяснение ситуации. Впредь учту. Спасибо коллеги!
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
14.04.2012, 23:45
Цитата Сообщение от Pelena Посмотреть сообщение
Запрос не мой, но мне тоже интересно
Посмотрите по этой ссылке, обратите особое внимание на ПРИМЕЧАНИЕ. Перевод, хотя и корявый (машинный), но понять, что к чему можно.
2
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
14.04.2012, 23:50
в общем склепал примерчик, если вам нравиться использовать параметры и ссылки на формы, то можно это организовать как в приложении.
Вложения
Тип файла: rar ТЕСТх.rar (21.5 Кб, 12 просмотров)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2012, 23:50
Помогаю со студенческими работами здесь

Запрос к БД с несколькими условиями
Здравствуйте как реализовать правильно следующий запрос? Мне необходимо чтобы если в Таблице Автомобили Марка_автомобиля=x и...

Запрос с несколькими условиями
Здравствуйте, специалисты! Помогите, пожалуйста, составить sql-запрос. Дано: две таблицы 1) клиенты clients (id, workstatus):...

Запрос с вычисляемыми условиями
Здравствуйте! Новичок в SQL, помогите решить задачу. Даны 2 таблицы: @T1 (Id – ID клиента, Credit – размер кредита), @T2 (Id – ID...

Запрос с несколькими условиями
Подскажите, пожалуйста Как в одном запросе вывести такую информацию, как на картинке в таблице, то есть: Вертикальный столбец шапки...

Запрос с условиями в Where и Order By
Ребята, подскажите, пожалуйста. Отказывается работать: Суть того, чего я хочу, проста: мне надо чтобы некоторые условия фильтрации и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru