Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глючок с удалением запроса / 18 сообщений из 18, страница 1 из 1
11.06.2003, 11:45
    #32181136
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
есть код в модуле
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function DelQuery(QName As String)
Dim QueryName As QueryDef
  With CurrentDb
    'MsgBox QName'
    For Each QueryName In .QueryDefs
      If QueryName.Name = QName Then
        'MsgBox QName'
        .QueryDefs.Delete QName
      End If
    Next QueryName
  End With
  'MsgBox QName'
End Function

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

Есть ещё 2 прикола.
1. если идёшь F8 по тексту то всё гуд... (????)
2. если разремить любой MsgBox в выше приведённом коде ошибка пропадает(????)

AccEss'97

Посоветуйте как его надо поставить

ЗЫ Пробовал скинуть в другую базу, пробывал на другой машине - эффект тотже
...
Рейтинг: 0 / 0
11.06.2003, 11:52
    #32181149
xthn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
Что так извращаешся? Попробуй по проще:
Код: plaintext
1.
2.
3.
4.
5.
Function DelQuery(QName As String)
On Error Resume next
 CurrentDb.QueryDefs.Delete QName
If err.number<> 0  then msgbox  "Запрос не удален!" 
End Function
...
Рейтинг: 0 / 0
11.06.2003, 12:21
    #32181185
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
> если разремить любой MsgBox в выше приведённом коде ошибка пропадает

Значит, в этом месте просится DoEvents.
...
Рейтинг: 0 / 0
11.06.2003, 12:30
    #32181191
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
To xthn
Не помогло, но спасибо

То Владимир Саныч
А нельзя по подробнее что эт за зверь, с чем его едят, для чего он и как его применять
...
Рейтинг: 0 / 0
11.06.2003, 12:34
    #32181198
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
То Владимир Саныч
Помогло, но что я этой строкой сделал так и не понял
...
Рейтинг: 0 / 0
11.06.2003, 12:36
    #32181203
xthn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
Лично у меня все работает и не сбоит.
Ты откуда вызываешь удаление запроса, может он у тебя еще и не создан (не успел создаться, так сказать).
...
Рейтинг: 0 / 0
11.06.2003, 12:46
    #32181219
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
То xthn
У меня тоже в общем случае не сбоит

DoEvents - помог
...
Рейтинг: 0 / 0
11.06.2003, 12:49
    #32181223
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
И MsgBox, и DoEvents делают одно и то же: приостанавливают сплошной ход программы и дают в нем маааааленький просвет времени каким-то другим процессам, которые тоже хотят исполниться.
...
Рейтинг: 0 / 0
11.06.2003, 12:51
    #32181227
xthn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
У любого программиста в случае обнаружения ошибки естьдва пути:
1. Найти причину и устранить ее
2. Нафиг не тратить время на причину и устранить следствие

Ты пошел 2-ым путем. Хреновый из тебя программист будет :(
Я уже спрашивал - спрошу еще раз - Откеда ты вызываешь свою функцию?
А так же:
Что это за запрос (где он создается, почему у него м.б. не правильный синтаксис?)
...
Рейтинг: 0 / 0
11.06.2003, 15:41
    #32181455
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
этой строкой ты выделил время на выполнение других потоков аксесса
...
Рейтинг: 0 / 0
11.06.2003, 15:53
    #32181479
xthn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
2АлексеК
>этой строкой ты выделил время на выполнение других потоков аксесса

Это мне? Если мне то, что это значит? Если не мне, то все равно - что сее означает?
...
Рейтинг: 0 / 0
11.06.2003, 15:57
    #32181484
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
2 xthn:

Это было Sfagnum'у - ответ на его посты от 12:30 и 12:34 и повтор моего поста от 12:49.
...
Рейтинг: 0 / 0
11.06.2003, 16:01
    #32181492
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
сие означает что MSAccess для выпонения использует только один поток, несмотря на то что MSwindows - многопотоковая операционная система.

если открыто несколько объектов в аксессе то в один момент времени выполняется только одна строчка кода одного из объектов.

для прерывания выполнения кода и передачи времени другим открытым объектам и используется doevents
...
Рейтинг: 0 / 0
11.06.2003, 16:57
    #32181574
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
2 АлексейК
Ха, так у тебя и любой Com-овский объект пока один метод не отработает - в другие тебя не пустит (если только специально не заморачиваться). А когда ты в куске аксесовского кода сидишь - тут одним com-овским методом не обойдешься.
Синхронизацией потоков занимается сам COM, такова селяви
З.Ы. Количество потоков для Jet настраивается в реестре, по умолчанию 3. Интересно, почему именно 3?
...
Рейтинг: 0 / 0
11.06.2003, 17:07
    #32181586
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
а какой ключ реестра ?
может если сделать потоков 10 то может глючить меньше станет ?
...
Рейтинг: 0 / 0
11.06.2003, 17:10
    #32181590
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Jet 3.5
Threads
...
Рейтинг: 0 / 0
11.06.2003, 17:12
    #32181591
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
Правда, не знаю чем это поможет. Все таки Jet и Access -это две большие разницы. Или четыре маленькие.
...
Рейтинг: 0 / 0
12.06.2003, 13:56
    #32181928
Sfag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючок с удалением запроса
xthn писал:У любого программиста в случае обнаружения ошибки естьдва пути:
1. Найти причину и устранить ее
2. Нафиг не тратить время на причину и устранить следствие

Ты пошел 2-ым путем. Хреновый из тебя программист будет :( код давно писал => перебацывать себе дороже будет
почему будет?:)
xthn писал:Я уже спрашивал - спрошу еще раз - Откеда ты вызываешь свою функцию?Из модуля формы
xthn писал:А так же:
Что это за запрос (где он создается, почему у него м.б. не правильный синтаксис?)Просто отработанный запрос, неважно, это мнение AccEss'а
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глючок с удалением запроса / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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