powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Спецфичный вопрос Знатокам
14 сообщений из 14, страница 1 из 1
Спецфичный вопрос Знатокам
    #32132978
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XP + SQL, на форму при открытии делаю:

Option Explicit
Private WithEvents R as ADODB.Recordset

Sub Form_open()
R.Open "Ta-TA-TA",,,,,adCmdText + adAsyncFetchNonBlocking
set me.recordset=R
End Sub

Sub R_FetchComplete()
Me.NavigationButtons=True
End Sub

Так вот, когда записей много, то всё ок. Когда мало (до 100) то на моей машине R_FetchComplete срабатывает, а на других нет?????????????????????????????????
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32132989
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня был такой глюк когда у формы изначально RecordSource пустой , а уже потом по Form_open инициализируется.
Пришлось назначить ей липовый источник иначе глючила (в частности переставала обновлятся )
Причем глюк только на XP в 2000-м все нормально.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133060
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно, для чего
Sub R_FetchComplete()
Me.NavigationButtons=True
End Sub
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133175
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk>

У тебя наверное был другой глюк, я ведь не RecordSource меняю а рекордсет, а в 2000 по-моему такого свойства у формы нет. А в моем примере формы обновляются, все работает как говорится ок, вот только не наступает событие у рекордсета, и соответственно не появляются кнопки перехода. Проверял настройки на своей машине и на других, вроде ничего не нашел. Даже оффис переустановил и там и там. Наверно придется вешать на таймер, что очень не хотелось бы. Все таки хотелось бы разробраться........

V. Motchulsky>

Sub R_FetchComplete()
Me.NavigationButtons=True
End Sub

Это для отображения кнопок перехода, потому что если запрос выполняется асинхронно и в это время нажать кнопку перехода на последнюю запись, то возникает страшный глюк. Как его обойти я не знаю, поэтому решил воспользоваться вот таким способом.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133221
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MVN
А зачем вааще все это надо? Может ты не заметил, но записи в форму и без всяких ухищрений приходят асинхронно. А в A2k свойство Recordset у формы есть. Нет у отчета.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133371
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему нельзя просто задать свойство RecordSource и никаких тебе глюков, куда хочешь нажимай...
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133632
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А потому что Access + SQL, и поэтому RecordSource и всякое там прочее приспособление оно работает только через присоединенные таблицы, которые в свою очередь работают через источник ODBC, который в свою очередь некорректно выводит русский шрифт(на разных машинах разный софт), который в свою очередь не дает возможности ввести-прочитать данные. И вдобавок я не хочу забить все трафики своими неэффиктивными запросами.

Только пожалуйста не расписывайте мне все прелести *.adp.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32133752
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой, да никто тебе ниче расписывать не собирается. Мазохизм он и есть мазохизм. Из интереса попробовал - событие гарантированно возникает. Только рекордсет почему-то не обновляемый, хотя в adp редактируемый.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Option Compare Database
Option Explicit
Private cn As ADODB.Connection
Private WithEvents rs As ADODB.Recordset

Private Sub Form_Open(Cancel As Integer)
    Set cn = New ADODB.Connection
    cn.ConnectionString =  "PROVIDER=SQLOLEDB.1 ;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=TestBase;DATA SOURCE=TESTSERVER"
    cn.Open
    Set rs = New ADODB.Recordset
    rs.ActiveConnection = cn
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenStatic
    rs.LockType = adLockOptimistic
    rs.Source =  "Select * From dbo.TestTable" 
    rs.Open , , , , adCmdText + adAsyncFetchNonBlocking
    Set Me.Recordset = rs
End Sub

Private Sub rs_FetchComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
    MsgBox  "Complete" 
End Sub
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32134914
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я все то же самое сделал, у меня событие возникает, а вот на других машинах по-разному
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32135583
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, разобрался сам. Это оказывается известный баг ADO версии 2.5 и ниже. Стоило поменять ссылку в акцессе на 2.6, все заработало (её кстати в пакете ХР нет, :) пришлось ставить извне).

>Pavel

Непонимаю, зачем ты вообще полез программировать на VBA, по-моему тебе достаточно конструкторов и мастеров, а разобраться в проблемме нужно было хотя бы для собственного развития.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32135658
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё проще можно установить "Background Fetch Size" в 1 и все ок
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32135662
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. "Initial Fetch Size"
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32136127
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVN
Расслабься, юное дарование.
...
Рейтинг: 0 / 0
Спецфичный вопрос Знатокам
    #32136805
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel
Большое спасибо за совет, а то я бы без тебя не разобрался.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Спецфичный вопрос Знатокам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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