Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как узнать загружен ли весь набор записей?  [new]
baike2000
Member

Откуда:
Сообщений: 177
Есть проект ADP и форма, при загрузке формы надо перейти на последнюю запись. Как узнать загружен ли уже весь набор записей или нет.
Знаю что можно использовать фильтр, но это не годится.
При записи команды DoCmd.GoToRecord , , acLast, переход не осущестьвляется если не загруже весь набор.
12 мар 04, 14:43    [575476]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
me.recordset.movelast
12 мар 04, 16:14    [575857]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Тимур Рахимов
Member

Откуда: Москва, Россия
Сообщений: 128
Я всё же думаю, что автор темы хотел знать не это... Если я правильно его понял, то ему нужен не способ какими-либо действиями инициировать загрузку в форму всего набора записей, а нечто более тонкое - в коде (не отдавая управление пользователю) дождаться окончания асинхронной загрузки, чтобы потом в этом же фрагменте кода перейти к дальнейшим действиям, для которых как раз "полная загрузка" необходима.

Такая задача довольно давно стояла и передо мной, тогда я её решил так (проект ADP, данные на MS SQL2000):

    Subform1.Requery


'ждать, пока не закончится извлечение записей'
Do While Subform1.Form.RecordsetClone.State And adStateFetching
DoEvents
Loop

'выполняем здесь действия, для которых необходимо окончание загрузки набора записей '
If Subform1.Form.RecordsetClone.RecordCount = 0 Then
' ...'
End If


----------------
Geo:
2Тимур Рахимов и тем, кто не знает
в блоке src на форуме апостроф начинает комментарий, который заканчивается только следующим апострофом, вне зависимости от перевода строки.
Пример раз :)
команда 'комментарий

команда

команда ' комментарий

команда '
комментарий

команда 'комментарий'

команда 'комментарий'
команда
13 мар 04, 02:18    [576577]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
baike2000
Member

Откуда:
Сообщений: 177
Спасибо большое Тимуру Рахимову
15 мар 04, 11:08    [577635]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Тимур Рахимов
Member

Откуда: Москва, Россия
Сообщений: 128
Для Geo:
Благодарю за ценную информацию, но в ваших словах мне слышится некоторое раздражение, которое мне не нравится, ибо полагаю его незаслуженным с моей стороны. Упрёк был бы справедливым, если бы то, о чём вы сообщили, было явно опубликовано на сервере в качестве руководства, но о том, как правильно пользоваться расширенными средствами форматирования текста, я никакой информации не нашёл (и назначение тех или иных кнопок пришлось определять опытным путём), хотя активно искал. Надо ли говорить, что в разделе "Правила", где я более всего рассчитывал найти такую информацию, мне так ничего по этому вопросу найти не удалось!
Сообщённую же вами информацию, увы, никак нельзя отнести к числу самоочевидных.

По существу вопроса:
Поразмыслив немного, я пришёл к выводу, что был неправ, и в контексте поставленной задачи предложенный АлексейК способ с использованием Recordset.MoveLast позволяет достичь в точности такого же результата, но не в пример компактнее.

Однако за пределами этого контекста могут быть задачи, для решения которых необходимо в процессе "ожидания" делать ещё что-либо (progress bar отображать, выводить какую-нибудь анимацию или ещё что-нибудь), так для них будет пригоден предложенный мной более сложный вариант.

Также следует заметить, что в примере я использовал свойство RecordsetClone вместо Recordset без какой либо явной необходимости (потому что в реальной программе у меня были странности с поведением свойства формы Recordset, и я от греха подальше всюду заменил его на RecordsetClone). В этом же случае можно применить и Recordset.RecordCount.
15 мар 04, 15:46    [578434]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Geo
Member

Откуда:
Сообщений: 6883
автор
Для Geo:
...

Во как.
Почему раздражение?
Я от нечего делать расставил кавычки, написал для общего развития про них тебе - и сразу "раздражение".
Бог с вами, сударь.
:)
---
А по существу вопроса я вообще ничего не знаю :)
15 мар 04, 16:57    [578646]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
2 Geo:
А интересный эффект. Человеку хочешь помочь, думая, что ему это надо. А он это воспринимает так, как будто его уличили в ущербности.
15 мар 04, 17:35    [578772]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Тимур Рахимов
Member

Откуда: Москва, Россия
Сообщений: 128
Прошу прощения, мы всё дальше и дальше уходим от разговора по существу, но я вынужден признать эмоциональную (в основе своей) природу своего недовольства, но пояснить вместе с тем свою позицию.

1. Совсем недавно, когда я только впервые посетил этот форум, я был удручён тем, что правила пользования им (в техническом смысле) мне найти не удалось, хотя я и потратил заметное время на их поиски, разумно предполагая, что они есть. Таким образом, здесь мне пришлось смириться с недоработкой администрации сайта, что я сделал с лёгкостью, учитывая то, что она, безусловно, мне ничего не должна (в юридическом смысле).

2. Что же касается этих злосчастных апострофов, то, конечно, мне сообщили безусловно нужную для меня информацию (ещё раз спасибо Geo за это), но прошу учесть, что:
а)мне указали на недостаток моего сообщения, который обусловлен не вполне корректной работой тега SRC, а не моими ошибками;
б)способы обхода последствий некорректной работы тега SRC не были документированы и, исходя из обстоятельств дела, догадаться о них я не мог;
в)указание было сделано без единого вежливого слова.

3. Несмотря на всё вышесказанное, меня ничуть бы это не задело, если бы уважаемый Geo высказался в частном порядке, а не в качестве модератора форума. Последнее (вкупе с сухостью сообщения, воспринимаемой скорее как резкость) было явно выходящим за рамки, почитаемые мной приемлемыми, ибо официальный упрёк в незнании того, что до меня должно было быть доведено в установленном порядке, но так и не было сделано администрацией, вызывает обоснованные возражения и по меньшей мере неприятен.

И, наконец, особенно бы хотелось отметить, что обнаружившийся конфликт (который, возможно, более приятно было бы называть недоразумением) ни в коей мере не повлиял на моё отношение к Geo, который, наряду с некоторыми другими участниками форума, снискал своими высказываними моё искреннее непреходящее уважение.

Полагаю теперь, что эта тема исчерпана и нет нужды к ней более возвращаться.
15 мар 04, 18:56    [578985]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Я полагаю, что это было недоразумение. Geo просто не позаботился о более деликатной форме. Хотя никакого упрека не имел в виду.
15 мар 04, 19:01    [578993]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Geo
Member

Откуда:
Сообщений: 6883
Остается только извиниться за сухость, что я и делаю :)
И, как сказал бы Владимир Саныч, компенсирую:

:)
15 мар 04, 19:08    [579007]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Geo
Member

Откуда:
Сообщений: 6883
Это в смысле улыбки, а не насмешки. :)

И вот заодно кой-чего по оформлению:
https://www.sql.ru/users/cat2/design.asp
15 мар 04, 19:14    [579013]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать загружен ли весь набор записей?  [new]
Тимур Рахимов
Member

Откуда: Москва, Россия
Сообщений: 128
Благодарю.
16 мар 04, 00:34    [579222]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить