|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Реализовать БД безобидным способом. Типа сказал себе "можем начать" и приступил для начала к голым тестам, то есть пытаться делать в тест проекте чего раньше не умел. Ну т.е. взял тестовую БД test.mdb с таблицей TestTable Хочу поиграться с отловом изменений в RecordSet (ну не таймером же ее долбать, как-то не солидно) Прочитал вот это: http://vbautomation.110mb.com/ACCESS/ADO/ADO_WillChangeRecord_%20RecordChangeComplete_Events.htm Накатал пока вот это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
Private Sub objRecSet_RecordChangeComplete и ругается: Compile error: Procedure declaration does not match description of events or procedure having the same name Подключал msado25.tlb (но от версии 2.5;2.6;2.7 это не зависит) Пока идей нету. Если дальше пойдет такими темпами, не видать мне прелестей БД как своих ушей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 04:54 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Дмитрий77При запуске тыкает меня носом в строчку: Private Sub objRecSet_RecordChangeComplete и ругается: Compile error: Procedure declaration does not match description of events or procedure having the same name Ну вроде погуглил, Код: plaintext 1. 2. 3. 4. 5. 6.
но и заработать не заработало. Хочу получить MsgBox "ok" Иду параллельно в БД через MS Access, правлю чего нибудь в таблице. Молчит-с. А надо чтоб сказало "OK". Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 06:44 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Если сделать вот так Код: plaintext 1. 2. 3.
Но мне надо 1) прога1(другая) делает добавление/изменение в таблице 2) прога2(текущая) это изменение считывает как только так сразу Попробовал так objRecSet.CursorType = adOpenDynamic но не помогает. На правки из Access не реагирует. Какие флаги/курсоры и т.п. надо устанавливать? Чтобы с БД работало одновременно несколько exe, и изменения сделанные другим exe отлавливались? Причем должна быть возможность read/write со стороны разных exe, и "комфортная работа", т.е. без "хочу записать, а там заблокировано" и без "кто-то чегой-то записал, а я об этом не узнал". Писать, читать, удалять могут 1)прога1; 2)прога2...N)прогаN; N+1) User например через графич. интерфейс. Использовать всякие там data-контролы с Grid-ами не хочу и не буду, потому что 1) Информация отображается в облагороженный ListView, кот. менять на грубые тупые контролы не хочу 2) Информация из таблицы отображается не совсем линейно, т.е не всегда именно то что в поле, а иногда другое слово/фраза Т.е. интеллектуальная обработка отображаемого по любому нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 07:26 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Иду параллельно в БД через MS Access, правлю чего нибудь в таблице. Молчит-с. А надо чтоб сказало "OK".И не скажет. В рекодсете находится копия данных из базы. Сообытие относится к изменениям в рекодсете, а не базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 10:10 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Дмитрий77Хочу поиграться с отловом изменений в RecordSet (ну не таймером же ее долбать, как-то не солидно) Даже если б рекордсет умел отслеживать "чужие" изменения в таблице БД - он все равно бы это делал по таймеру. Ну вот представь - у примеру файл БД открыт на сетевом диске, через NETBIOS по TCP/IP через NAT )). Это единственное установленное соединение с БД. Есть ли у файловой системы какой-то механизм, чтобы в этом случае передать в обратную сторону некое событие, которое могло бы возбудить прерывание на клиенте? По-моему нету. То есть это только - организация параллельного соединения, по которому будет передаваться прерывание (это если не по таймеру) В свое время я умудрился заставить SQL2000 отправлять прерывание клиенту по TCP/IP через разрыв этого соединения. Но это нештатная функция. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 10:53 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Ну т.е. не париться, писать изменения в отдельную таблицу и долбить ее таймером? http://www.sql.ru/forum/actualthread.aspx?tid=821583 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 10:54 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
> Автор: Дмитрий77 > Ну т.е. не париться, писать изменения в отдельную таблицу и долбить ее таймером? Ну или взять FireBird c его Events :) Шучу Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 11:17 |
|
ADODB.Recordset objRecSet_RecordChangeComplete ругается
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: Дмитрий77 > Ну т.е. не париться, писать изменения в отдельную таблицу и долбить ее таймером? Ну или взять FireBird c его Events :) Шучу Никаких шуток. Если надо на клиенте получать сообщения от базы, надо брать базу умеющую посылать сообщения. Называется это push technology. На вскидку это умеют SQL Anywhere и FireFird. Либо опрашивать по таймеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2011, 18:00 |
|
|
start [/forum/search_topic.php?author=Pupkin2011&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 447ms |
total: | 611ms |
0 / 0 |