powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Количество записей в рекордсете с контролами на форме
12 сообщений из 12, страница 1 из 1
Количество записей в рекордсете с контролами на форме
    #39505050
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые форумчане!
До недавнего времени я успешно пользовался таким кодом: k = CurrentDb.OpenRecordset("запрос").RecordCount с помощью которого получал количество записей в запросе. Но после того, как в запрос добавились контролы с формы, необходимо переписать код. Поискав на форумах, я пришел к выводу, что нужно явно указать переменные с контролами, но вот как это сделать грамотно синтаксически не нашел. Возможно, есть какое-то совсем простое решение. Мне не столько важно знать количество записей, сколько понять в принципе, возвращает записи или нет.
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505071
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CAHDEP,
dcount
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505081
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
спасибо, а можно более подробно?
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505085
Для запроса со ссылками на форму:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Set db = CurrentDb
With db.QueryDefs("запрос")
  For Each prm In .Parameters
     prm. Value = EVal(prm.Name)
  Next
     fNoRecords = .OpenRecordset().BOF
End With

"явно указать переменные с контролами" можно при составлении SQL выражения в процедуре. В сохраненном запросе можно применить функцию, возвращающую значение контрола (например ту же EVal("Forms![Имя формы]![Имя поля]") ), но я это не практикую и не советую.
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505087
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuCAHDEP,
dcount
Привык одевать штаны через голову?

Код: sql
1.
k = Me.Recordset.RecordCount
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505097
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Анатолий ( Киев ),
прошу сильно не пинать. Можете подсказать как мне используя вашу функцию получить количество записей в своем запросе?
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505473
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),
Помогите, пожалуйста, разобраться. При условии, что запрос возвращает записи, у меня выполняется определенное действие, если нет, то выходит сообщение. Как применить вашу функцию?
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505479
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CAHDEPПомогите, пожалуйста, разобраться.Вероятность ответа прямо пропорциональна полнотой предоставленной ТС информации. Наличие примера ещё больше повышает вероятность ответа.

А пока - Как запускать запросы из VBA
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505488
CAHDEPПри условии, что запрос возвращает записи, у меня выполняется определенное действие, если нет, то выходит сообщение. Как применить вашу функцию? В моем примере в переменную fNoRecords (лучше объявить как Boolean) записывается True, если записей нет. С учетом "Мне не столько важно знать количество записей, сколько понять в принципе, возвращает записи или нет." достаточно проверить ее значение.
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505498
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Спасибо за отклик. Прежде чем обратиться на форум, я читал и этот пост, в том числе. Знаний в этой области маловато пока, поэтому туплю. Работал до сих пор таким образом:
Код: vbnet
1.
2.
3.
4.
5.
6.
k=CurrentDb.OpenRecordset("запрос").RecordCount
if k>0 then
DoCmd.OpenForm "Form1", acNormal
else
msgbox "Нет соответствий"
end if


После того, как в запрос понадобилось добавить два параметра, которые обращаются к контролам формы, начала вылетать ошибка: Слишком мало параметров. Требуется 2
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505499
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CAHDEPдва параметра, которые обращаются к контролам формы
Так а форма-то, к контролам которой обращается запрос открыта? Если нет, то и ничего работать не будет. Если открыта, то значит неправильно параметры прописаны.
...
Рейтинг: 0 / 0
Количество записей в рекордсете с контролами на форме
    #39505508
CAHDEP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),
спасибо большое! Очень помогли. Это отлично работает!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Количество записей в рекордсете с контролами на форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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