| |
|
|
| | При формировании отчета создаю запрос из БД для рекордсета QueryDef скажем "query". В конце работы с запросом я его удаляю.
У некоторых пользовательй машины иногда зависают, бывает большой объем данных, и они их перегружают в процессе работы, следовательно запрос не удаляется и при формировании нового отчета ругается что не может создать запрос с таким именем т.к. такого уже есть...
Можно ли как то предварительно проверять есть ли запрос с таким именем или нет, и если есть его удалять...
Set bdd = DBEngine.Workspaces(0).OpenDatabase("путь к бд")
Set qwr = bdd.CreateQueryDef("query", strsql)
Set rs = qwr.OpenRecordset(dbOpenDynaset)
|
| |
| |
| |
| |
|
|
| | временные объекты создавай во временных БД
потом удаляй целиком временный файл
---
для того, чтобы узнать есть запрос или нет - обратись к нему по имени
и обработай ошибку если такого запроса нет | |
| |
| |
| |
|
|
| | со временными бд буду разбираться =) спасибо!
А можно мини пример обращения к запросу и обработки ошибки?
With bdd
.QueryDefs.Delete "query_fio"
End With
|
так я его удаляю, ну если он есть конечно, а если его нет он ругается и приехали..., как тут обработать ошибку чтобы процесс на этом не тормазился....? | |
| |
| |
| |
|
|
| |
on error resume next
With bdd
.QueryDefs.Delete "query_fio"
End With
on error goto 0
|
| |
| |
| |
| |
|
|
| | Огромное спасибо =) зарабатало =)
Всем спасибо за советы! По мере необходимости буду разбираться! Базу написал за 3 месяца имея нулевой уровень акса и вб. Не думал что она наберет такую популярность на работе, уже набили около 10000 записей в основную таблицу, соответственно и спрос с нее =) собрал маленький дистрибутив к ней, теперь ставят, пользуются =) даже через инет =) я это к чему, что многие вещи, которые для вас очевидны - для меня темный лес, и многих ваших мыслей я посто не могу уловить, поэтому так доходчиго, до тупого иногда спрашиваю.
Где то раз в месяц лезу в вб по базе, смотрю на код и думаю "Че за хр*нь!? как тут что можно понять" =)
Короче, спасибо вам за помощь =) | |
| |
| |
| |
|
|
| | >> так я его удаляю
можно попробовать сохранить одноименный | |
| |
| |
| |
|
|
| | если вам нужен только рекордсет, то создавать querydef не обязательно или можно создавать без имени, тогда он не сохраниться в базе
проверить наличие запроса можно:
-перебрав коллекцию querydefs и сравнимать имена объектов с искомым
-попытаться обратиться к querydef по имени и обработать ошибку
- начиная с (кажется XP) есть коллекция AllQueries можно попробовать описанные выше способы с ней а не с querydefs | |
| |
| |
| |
|
|
| | в стейтменте съехала закрывающая скобка!
до конца рабдня 1 мину | |
| |
| |
|
|
| |
|
|
| | 
ну ладно, я тобой посижу - чтоп тебе не скушно было
| |
| |
| |
| |
|
|
| | ыыыы  | |
| |
| |
| |
|
|
| | Ваньк, всё, я побёг в футбольчег поиграю  | |
| |
| |
|
|