![]() |
|
![]() ![]() ![]() |
|
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: нет Всего: 4 |
Здраствуйте форумчане.
Есть проблема, делаю программу работающю с БД Акцес. Данные выбирать получается, но когда в запроссах использую INNER JOIN то иногда CRecodset выбирает не все данные! чать пропускает попросту. Создаю банальный Query в самом акцесе, там всё как нужно. Вопрос такой, как обратиться к готовому Query через CRecordset, и как используя его задавать парметр выборки в самом Query? За ранее благодарю! --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
dizzy1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 10 Всего: 25 |
Должно быть это сделать не получится, либо будет проблематично.
Проще продублироват текст запроса и использовать его в CRecordset. А чтобы понять почему запрос не выводит часть данных нужно знать. 1) Запрос 2) Структуру БД 3) Код запускающий его на выполнение 3) Способ(код) просмотра результата запроса. |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: нет Всего: 4 |
Запрос через рекордсет и в query в Акцесе.
полностью идентичные запрос и в акцесе. Но в акцессе выводит при нём 2 результата, а через рекордсет 1! nrd.GetRecordCount(); возвращает еденицу вместо двух результатов Вот объясните в чём может быть проблема? --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
dizzy1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 10 Всего: 25 |
Слишком мало информации, так ничего не скажешь.
Покажи запрос который посылается бд, т.е какое значение принимае query после присвоения. Покажи значения которые содержат таблицы dolzn и tarif. И как ты собственно просматриваешь получившийся результат. Метод GetRecordCount возвращает число уже просмотренный записей, которой естественно, если их не смотрят, равно 1.
Т.е в мсдене сказано что чтобы получить число строк нужно организовать цикл по условию while(nrd.IsEOF()) вызывая nrd.MoveNext(); и увеличивая счетчик числа, с поправкой на CRecordset:AddNew и CRecordset:Delete. |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: нет Всего: 4 |
благодарю, за помощь.
Crecodset.IsEOF() помог. Просто в мсдн написанно, что GetRecordCount() возвращает количество запсей. А оказалось нет. Ещё раз спасибо. Тема закрыта. --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |