Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2011, 12:00   #1
satka
Форумчанин
 
Регистрация: 17.07.2011
Сообщений: 145
По умолчанию Подсчёт количества записей в запросе

есть строковая переменная, в ей SQL запрос. Как узнать скока записей в запросе, ну или накрайняк есть ли вообще там записи?
satka вне форума Ответить с цитированием
Старый 17.08.2011, 13:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так... по порядочку..
в запросе НЕТ и не может быть записей. Ни одной!
Записи могут быть в выборке (результат выполнения запроса).
Это раз.

второе. Если я правильно понимаю, у Вас уже есть конкретный запрос, Вы хотите узнать, сколько он записей возвращает?
тогда этот запрос нужно переделать. в общем случае надо вместо списка полей указать агрегатную функцию count()
например,
Код:
select count(*) as MyCountOfRecord from ....<дальше всё, как у Вас в исходном запросе>
Надо выполнить этот запрос.
в переменной MyCountOfRecord получите сколько записей выбирется в исходный запрос.
внимание! в случае сложного запроса (группировки, подзапросы, использование других агрегантых функций) полученное число count(*) может не соответствовать числу записей в исходной выборке
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.08.2011, 14:12   #3
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Осмелюсь предположить
так как речь идет о строковой переменной, то речь идет о VBA, соответственно результат запроса служит источником данных для контрола формы либо для набора записей.
Соответственно количество возвращенных записей можно получить, обратившись к свойству count контрола или набора записей.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 01.09.2011, 15:09   #4
satka
Форумчанин
 
Регистрация: 17.07.2011
Сообщений: 145
По умолчанию

Строковая переменная фомируется в зависимости от нажатых кнопочек на форме, после чего она передаётся как RecordSource ленточной форме, смысл в том чтобы узнать сколько записей выведет запрос (или выведет ли он хоть одну), тому как надо получить фокус на элемент в ленточной форме, и если запрос не выводит ничего элемент не создаётся (форма-то получается пустой), естественно вылазит ошибка. Формируемый запрос содержит условия отбора, сортировку, источником данных является другой запрос.
satka вне форума Ответить с цитированием
Старый 01.09.2011, 21:45   #5
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию

Доброго времени суток!

Вот функция :

Код:
Function CountRec(r As DAO.Recordset) As Long
'-----------------------------
'  Îïðåäåëÿåò êîë-âî çàïèñåé â îáúåêòå Recordset
'-----------------------------
Dim BMark As String
 If r.Type = dbOpenTable Then
    CountRec = r.RecordCount
 Else
    If r.RecordCount = 0 Then
       CountRec = 0
    Else
       r.MoveFirst
       BMark = r.Bookmark
       r.MoveLast
       CountRec = r.RecordCount
       r.Bookmark = BMark
    End If
 End If
Exit Function
End Function
Передаете в нее рекордсет на основе запроса, получаете на выходе количество записей в рекордсете
LittleFatCat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт количества символов в массиве .antony. Помощь студентам 0 09.06.2011 20:43
Подсчёт количества вхождений элемента Farrel SQL, базы данных 1 04.05.2011 11:41
подсчёт количества пар определённых значений в ячейках kudich Microsoft Office Excel 4 08.03.2010 16:14
Подсчёт Количества цифр "2", во введённом, ошибка какая-то.. metoflex Паскаль, Turbo Pascal, PascalABC.NET 2 21.06.2009 13:44
Подсчёт количества памяти занимаемого программами zonclayv Win Api 0 19.03.2009 22:03