powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с recordset в VBA!
15 сообщений из 15, страница 1 из 1
Помогите с recordset в VBA!
    #39251279
skiminok65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Открываю recordset по всем правилам. В нем должно быть несколько полей, а получается только одно!!!! Уже голову сломал.....

код:

dim rst as DAO.Recordset
dim strSQL as String

strSQL = "SELECT table.FirstName FROM table WHERE table.ID > 3"
set str = CurrentDB.OpenRecordset(strSQL, dbOpenDynaset)
Debug.Print rst.Recordcount
set rst = Nothing

Результат rst.Recordset всегда =1
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251284
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skiminok65Открываю recordset по всем правилам. В нем должно быть несколько полей, а получается только одно!!!! Уже голову сломал.....

код:

dim rst as DAO.Recordset
dim strSQL as String

strSQL = "SELECT table.FirstName FROM table WHERE table.ID > 3"
set str = CurrentDB.OpenRecordset(strSQL, dbOpenDynaset)
Debug.Print rst.Recordcount
set rst = Nothing

Результат rst.Recordset всегда =1
Я чего то не понял:
Debug.Print rst.Recordcount
или
rst.Recordset всегда =1
Где вы видите поля?
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251287
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойство RecordCount вернёт правильное значение только после .MoveLast. И то не 100% гарантии.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251288
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIГде вы видите поля?Да он не различает поля и записи походу...
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251290
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaСвойство RecordCount вернёт правильное значение только после .MoveLast. И то не 100% гарантии.
Дык вернется количество записей
А количество полей- не (это не так делается).
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251294
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Полей или все же записей?

2. Опечатка?
dim rst as DAO.Recordset
set str = CurrentDB.OpenRecordset(strSQL, dbOpenDynaset)

3.
Для определения количества записей рекордсета его нужно сначала заполнить
rst.MoveLast
MsgBox rst.RecordCount
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251305
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skiminok65,

Тс вы где?
Вы чего вообще то имели в виду.
Народ волнуется!
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251310
skiminok65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Спасибо. Работает.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251357
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaИ то не 100% гарантии.

А что, действительно бывали случаи? Ну если только в нагруженной многопользовательской среде за это время кто-то другой успеет поменять число строк.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251376
MrShin,

Акина жути нагоняет для порядку :)

в DAO - 100%.

в ADO - с оговорками с чужих слов типа:
use a static or keyset cursor to return the actual record count.но практически не знаю. Не использую ADO.
.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251398
MrShin,

тыкни для антересу
Вполне достоверные источники в выдаче. В т.ч. и наш :)
.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251445
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinА что, действительно бывали случаи? Ну если только в нагруженной многопользовательской среде за это время кто-то другой успеет поменять число строк.Почему обязательно "число строк"? Достаточно изменить значение любого поля, чтобы при этом изменилась "отбираемость" записи по фильтру запроса.
Впрочем, если получить именно точное количество записей - критично, то методы для его получения должны быть другими... и использование чуть ли не немедленное...
капча-грузовики-я-не-роботв DAO - 100%.
Сценарий.

Клиент открывает рекордсет.
Клиент делает мув ласт.
Другой клиент удаляет запись.
Клиент запрашивает рекорд каунт...
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251501
Akina,

я же говорю - жути нагоняешь :)

Я в матчасть глыбоко не погружался, потому, чисто поверхностно, по колхозно-крестьянски:

Давай отличать достоверность RecordCount системную, архитектурную от привнесенной, пользовательской.

Я для себя сделал вывод, что системная у DAO = 100%, у ADO < 100%.

Говоря же о пользовательской, она у обоих < 100%. И, конечно же, можно и нужно учитывать вероятность возникновения коллизий по сценариям, какие ты, к примеру, описал.

Если привнести чутка философии, то можно и должно утверждать, что RecordCount дает нам цифру, соответствующую именно тому рекордсету, который мы и запрашивали, и который был выплюнут запросом к таблице на момент его выполнения, с системной достоверностью, соответствующей используемой модели - DAO или ADO.

Говоря же об изменениях, которые могли произойти в таблице с момента выполнеия запроса - да, тот же самый запрос даст другой рекордсет . И, именно(!) ДРУГОЙ.

Интерпретировать его как ТОТ ЖЕ САМЫЙ - нельзя. Как и сравнивать результаты их анализов.

Доведя ситуацию до абсурда мы или получим или
- безысходность в виде полного отсутствия результата, т.к. замкнемся в бесконечном цикле обновления рекордсета и вычисления RecordCount
или же
- нулевую достоверность при принятии полученного RecordCount один раз и на всю оставшуюся жизнь.

Примерно так можно утверждать, что любой отсчет времени ложен априори. Недостоверен. А вот ту или иную степень достоверности ему придает разумно принятая погрешность и способ интерпретации этих отсчетов в реализуемой модели.

Как-то так...

Поэтому я и говорю - жути нагоняешь :)
.
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251526
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
капча-печенье-я-не-робот
я же говорю - жути нагоняешь :)
.................................
.................................
.................................
Поэтому я и говорю - жути нагоняешь :)
.Рондо?)))
...
Рейтинг: 0 / 0
Помогите с recordset в VBA!
    #39251547
__Michelle,

Ага. Оно самое :)
.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с recordset в VBA!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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