powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как проверить существует такой запрос уже или нет?
25 сообщений из 32, страница 1 из 2
как проверить существует такой запрос уже или нет?
    #32239967
magic'2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
subj
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32239973
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Краткость - сестра талланта" - это ложь...
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32239983
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запросом из системной таблицы базы
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32239994
magic'2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотелось бы в виде кода на VB...
типа функциии_проверки на существование с входным параметром "название отчета"... если у кого -то есть - поделитесь...
заранее спасибо...
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240018
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
Public Function CheckQuery(strQName As String) As Boolean
 On Error Resume Next
 CheckQuery = CurrentDb.QueryDefs(strQName).Name = strQName
End Function
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240027
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так отчёта или запроса?
Просто при обращении к несуществующему запросу/отчёту/таблице/форме и т.п. возникает ошибка с определённым номером, её надо перехватывать и обрабатывать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
On Error GoTo myError
docmd.openquery  "MyQuery" 
' какие-то дальнейшие действия
Exit Sub
myError:
    If Err.Number = 7874Then
        MsgBox  "Такого запроса не существует!" , vbExclamation,  "Ошибка" 
    Else
        MsgBox  "Номер ошибки: "  & Err.Number &  ". Описание: "  & Err.Description, vbCritical,  "Вот такая вот ошибочка." 
    End If
End Sub


Нечто в этом духе.
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240095
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с помощью вот такой ф-ии можно определить существование любого обьекта в базе :
Public Function IsObjectExists(MyObjectName As String, MyObjectType As Integer) As Boolean
Dim ID_MyObject As Long
ID_MyObject = Nz(DFirst("Id", "MSysObjects", "Type=" & MyObjectType & " AND Name=" & "'" & Trim(MyObjectName) & "'", 0)
If ID_MyObject <> 0 Then
IsObjectExists = True
Else
IsObjectExists = False
End If
End Function
где MyObjectName имя искомого запроса или формы , а MyObjectType тип обьекта:
-32768 форма ("-" отриц-е число)
-32766 макрос
-32764 отчёт
-32761 модуль
5 запрос
1 родные( не прилинков-е ) и системные таблицы
4 прилинкованные таблицы SQL
и т.д
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240117
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim aob As AccessObject
Dim bol As Boolean
For Each aob In CurrentData.AllQueries
If aob.Name = "Запрос1" Then
bol = True
Exit For
End If
Next
MsgBox bol
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240225
A-Lex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может человека просто интересует текущий фильтр таблицы?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240231
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может человек давно забил на это?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240237
A-Lex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты наверное прав.
А как ставить смеющийся смайлик?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240244
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Хам трамвайный
Мне кажется, цикл по коллекции можно не организовывать, работу может замедлить, если объектов дофига.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function existQuery(Myname As String) As Boolean
Dim MyVal
On Error GoTo myError:
MyVal = CurrentDb.QueryDefs(Myname).name
existQuery = True
Exit Function
myError:
If Err.Number =  3265  Then
    Exit Function
Else
    MsgBox Err.Description
End If
End Function


Лучше уж так, наверное, а ещё способ TatianaT хорош.
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240273
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совершенно не зачем по коллекции бегать и ошибки организовывать
тем более что в следущий раз может быть надо проверять существование таблицы или отчёта

а как вы смайлики вставляете?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240276
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчет смайликов тебе сюда
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240278
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Про смайлики:

[ img=... ]

(только без пробелов).
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240292
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самый простой способ поставить смайлик - это ":) ) )"
токо без пробелов
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240340
magic'2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ничего я не забыл... всем спасибо...
воспользовался советом Татьяны...
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240403
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вы уверены
что
-32768 форма ("-" отриц-е число)
-32766 макрос
-32764 отчёт
-32761 модуль
всегда будет так?
вас не должно
интересовать как
аксесс хранит
свои внутренние
определения.
вы же не интересуетесь
как аксесс перемножает
числа? как хранит формы
и отчеты.
хотя, конечно, все это
доступно.
у вас есть свойства
и методы и вы
должны ими пользоваться
а не залезать во
внутренние механизмы.
на sql-сервере тоже
все хранится в системных
таблицах
однако же существует
огромное количество
хп и функций, извлекающих
служебную инфу из
этих таблиц
почему же, однако,
разработчики sql-сервера
не предложили воспользоваться
системными таблицами,
а именно дали кучу функций?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240422
кам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Хам трамвайный

на sql-сервере тоже
все хранится в системных
таблицах
однако же существует
огромное количество
хп и функций, извлекающих
служебную инфу из
этих таблиц
почему же, однако,
разработчики sql-сервера
не предложили воспользоваться
системными таблицами,
а именно дали кучу функций?


С чето ты это взял ? Какие такие функции ?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240442
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о! претензиозно!

эти константы не изменились с А97 по А2002
а Вы уверены что провоцировать ошибки это лучше? и кроме того
могут быть 2 разных обьекта с одинаковыми именами
например форма "А" и таблица "А" ?
и к тому же информация извлекается только для чтения?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240460
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
current_user
is_member()
можно спокойно
посмотреть
в таблице sysusers
достаточно?
или будем продолжать
длинный список?
ты что? в первый раз
на сервере?
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240467
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
товарищ дама!
"могут быть 2 разных обьекта с одинаковыми именами
например форма "А" и таблица "А"
ты что кода не читаешь?
CurrentData.AllQueries
для форм это уже будет
Сurrentproject.AllForms
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240482
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
умные собаководы
используют
для А97 метод hummer
для А2000 и выше мой метод
кто не знает умного
решения - метод Татьяны
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240512
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем нужен лишний код обработки ошибок?
И твой способ тоже можно подсократить, как я уже раньше предлагал... ;) Хотя в 200x (mdb) и с QueryDefs все будет работать.

Public Function CheckQuery(n As String) As Boolean
On Error Resume Next
CheckQuery = CurrentData.AllQueries(n).Name = n
End Function
...
Рейтинг: 0 / 0
как проверить существует такой запрос уже или нет?
    #32240530
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот за то тебя люблю я
вот за то тебя хвалю я
потому что ты, Игорюля
Хаму сегодня угодил.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как проверить существует такой запрос уже или нет?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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