|
|
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Доброго времени! Необходимо по максимуму быстро создать временную табличку (три числовых поля и одно логическое), при этом тестирование на скорость выполнения показало: DoCmd.CopyObject '=(90 мс) DAO.CreateTableDef (со всем необходимым кодом) '=(60 мс) ADO.Execute "CREATE TABLE..." '=(25 мс) ADO.Execute "CREATE TABLE...", , adAsyncExecute '=(15 мс) ADO.Execute "CREATE TABLE...", , adAsyncExecute + adExecuteNoRecords '=(5 мс)!!! Но, млин, эта падл%ка в варианте последнего кода создает таблицу (правельную таблицу, корректную) и... валит акс (программа выполнила недопустимую оп и будет закр)... Вроде же данные параметры (adAsyncExecute и adExecuteNoRecords) - битовые велечины, являющиеся флагами, которые могут совмещаться... Собстна вопрос: так и должно быть? И просьба... Если кому не лениво, можете протестировать на своих машинах ниже приведенную строку кода... Акс падает у всех или тока у меня (Win98, А2000+SP, mdb)? CurrentProject.Connection.Execute "CREATE TABLE Temp12345 (id long CONSTRAINT primkey PRIMARY KEY, s bit, ss long, os long)", , adAsyncExecute + adExecuteNoRecords ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 12:59 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Млин... Перечитал и у самого сложилось впечатление, будто я не понимаю, что таблица быстрее в асинхронном режиме не создается, а просто управление быстрее возвращается... Но мне это и нужно. Собственно просьба протестировать строку и высказать мнение... А? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 13:08 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
W2k Prof+SP, Office XP+SP - таже ошибка и Акс отваливается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 13:12 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Акес сдох. Несколько хороших слов о внезапно почившем: - 2000 +SP3 - mdb - MDAK 2.6 Правда, если сделать через отдельный конектион - то все будет ОК гдe cnn объявлена на уровне модуля Set cnn = CurrentProject.Connection cnn.Execute "CREATE TABLE Temp12345 (id long CONSTRAINT primkey PRIMARY KEY, s bit, ss long, os long)", , adAsyncExecute + adExecuteNoRecords Если же cnn объявить на уровне процедуры - то опять падает с той же ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 13:19 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Win2000prof + sp2 Access XP (без сервиспака??? позор мне) adp mdac 2.7 Ашипк есть. Таблица создается (если синтаксис поменять канешна). Вынесение в отдельный конекшн не помогает. те же яйца но mdb Ашипк есть. Таблица создается. Вынесение в отдельный конекшн не помогает. Вопрос к Сенину Виктору. Что я делаю не так? В плане вынесения в отдельный объект на уровне модуля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 13:52 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
>Вопрос к Сенину Виктору. Что я делаю не так? В плане вынесения в отдельный объект на уровне модуля? вот уж не знаю :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И так все нормально (если идти в по-шаговом режиме- если по F5 - каюк) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Пробовал делать Do while cnn.state<>1 doevents loop Не помогло - вываливается в ошибку Так что работает (у меня) только первый вариант :( З.Ы. на Adp попробовать сейчас не могу - ставлю VS.Net/MSDN/Visio - сижу уже 2-ой час :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 14:11 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Виктор, вот спасибо! Действительно лично у меня при объявленном на уровне модуля коннекте всё работает тип-топ с означенной же скоростью в 4-6 мс (на моем тормозе :) Лох!!! Эта, слушай, у тебя все еще валится? И чё там на счет исправления синтаксиса было? (запрос - тестовый, потом конечно будет цивильно переписан)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 14:50 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
млин... Забыл о самом главном :( Всем спасибо за отклик!!! //Лоха это не касается, пока не отпостит мол валится или не валится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 14:51 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Да вы издеваетесь надо мной Теперь оба варианта работают На фиг на фиг Я испугался и убежал 2 Нуф Синтаксис - long на int заменил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:07 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Отмазался... :) Лох, тебе тоже тогда спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:12 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
2All Проблема-в adAsyncExecute запрос исполняется асинхронно -поэтому когда после cnn.execute идет cnn.close вываливается ошибка(запрос не успевает отработать ) тоже самое происходит когда cnn обьявлен локально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:21 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Мля... Значит это и не глюк совсем... VIG, биг респект за пояснение... Буду в дальнейшем обязательно иметь в виду данное замечание на счет асинхронного выполнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:25 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Хотя, VIG, это все же глюк, ибо при одном параметре (либо adAsyncExecute либо adExecuteNoRecords ) - все ОК! Так что... Или чего-то не догоняю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:28 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
2VIG >запрос исполняется асинхронно ...(запрос не успевает отработать ) Да уж - чему только не начишся в форуме "Просто треп по акесу" Хотя если вспомнить справку - то там явно говориться (вернее, показывается на примерах) что надо описывать переменные на именно уровне модуля. Рабочий вариант (только конкретно здесь в нем смысла нет) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:39 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
2 Senin Victor Imho правильнее будет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:52 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
2VIG Теперь ты лопухнулся Код: plaintext 1. Ибо в данном случае cnn.state = 5 (=adStateExecuting+adStateOpen=4+1) Сразу после выполнения cnn.state станет равным 1 (adStateOpen) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:02 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
В смысле, adStateExecuting=4 и поэтому пример работаь не будет. <>1 (adStateOpen) - более универсален, чем писать Do While cnn.state =adStateExecuting+adStateOpen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:08 |
|
||
|
adAsyncExecute + adExecuteNoRecords валят Акс... Где грабли?
|
|||
|---|---|---|---|
|
#18+
Теперь ты лопухнулся -И на старуху бывает проруха Никогда раньше не задумывался ,что состояние обьекта коннекшен может описываться суммой констант состояния. Воистину век живи-век учись(о продолжении скромно умалчиваю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:23 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32202098&tid=1680673]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 419ms |

| 0 / 0 |
