Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программно создать запрос в mdb. Как? / 8 сообщений из 8, страница 1 из 1
28.10.2004, 18:16:12
    #32759985
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
...
Рейтинг: 0 / 0
28.10.2004, 18:25:37
    #32760000
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
смотри в хелпе
CreateQueryDef
...
Рейтинг: 0 / 0
28.10.2004, 18:44:10
    #32760044
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
sasha_1смотри в хелпе
CreateQueryDef

А с помощью ADO никак нельзя?
...
Рейтинг: 0 / 0
28.10.2004, 19:03:55
    #32760076
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
Пример из учебника:

Private Sub cmdSelectBook_Click()
Dim cnCurrent As ADODB.Connection
Dim rsOrder As ADODB.Recordset

'Setup an error trap
On Error GoTo Error_Handler

'Get the current connection
Set cnCurrent = CurrentProject.Connection

'Open a recordset based on the OrdersHold table
'Open the recordset as dynamic and with optimistic locking
Set rsOrder = New ADODB.Recordset
rsOrder.Open "SELECT * FROM OrdersHold", cnCurrent, adOpenDynamic,
adLockOptimistic

'Add a new record to the temp table OrdersHold
With rsOrder
.AddNew
!CustomerID = cboCustomers.Value
!BookID = lstAvailableBooks.Value
.Update
End With

'Clean up
rsOrder.Close
cnCurrent.Close
Set rsOrder = Nothing
Set cnCurrent = Nothing

'Requery the list box to show the new book that was selected
lstSelectedBooks.Requery
Exit Sub
Error_Handler:
'Display any errors to the user
MsgBox "An error occurred selecting books."
Exit Sub
End Sub

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
28.10.2004, 19:08:13
    #32760085
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
Мудрый клён sasha_1смотри в хелпе
CreateQueryDef

А с помощью ADO никак нельзя?
ADOX -вестимо
MyCat - adox Catalog
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function XQCr(MyCat As Object, querName As String, querSql As String) As Boolean
' создание + удаление запроса:querName- имя оного + querSql - текст ошибка из Err...
Dim MyCom As ADODB.Command
XQCr = True
On Error Resume Next
MyCat.Views.Delete querName
Err.Clear
Set MyCom = New ADODB.Command
MyCom.CommandText = querSql
MyCat.Views.Append querName, MyCom
Set MyCom = Nothing
If Err.Number <>  0  Then XQCr = False
End Function
...
Рейтинг: 0 / 0
28.10.2004, 19:20:41
    #32760106
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
через АДО непараметрические - Create View, парааметрические - Create Procedure

типа CurrentProject.Connection.Execute "Create View трам-пам-пам"

А2002 и то и другое видно как запросы

в А2000 - "процедуры" на странице запросов не отображаются
(если не вру...)

F1

авторИнструкция CREATE VIEW
Создает новое представление.


--------------------------------------------------------------------------------

Примечание. Ядро базы данных Microsoft Jet не поддерживает использование инструкции CREATE VIEW или любой другой инструкции языка определения данных (DDL) с базами данных, несовместимыми со стандартом Microsoft Jet.


--------------------------------------------------------------------------------

Синтаксис
CREATE VIEW представление [(поле_1[, поле_2[, ...]])] AS инструкцияSelect

Ниже перечислены аргументы инструкции CREATE VIEW:

Элемент Описание
представление Имя создаваемого представления.
поле_1, поле_2 Имена полей для соответствующих полей, указанных в инструкцииSelect.
инструкцияSelect Инструкция SQL SELECT. Для получения более подробных сведений смотрите описание инструкции SELECT.


Дополнительные сведения
В качестве инструкции SELECT, определяющей данное представление, нельзя использовать инструкцию SELECT INTO.

Инструкция SELECT, определяющая данное представление, не должна содержать каких-либо параметров.

Имя представления не должно совпадать с именем существующей таблицы.

Если запрос, определенный с помощью данной инструкции SELECT, является обновляемым, то и представление является обновляемым. В противном случае представление доступно только для чтения.

Если какие-либо два поля запроса, определенного с помощью данной инструкции SELECT, имеют одно и то же имя, то определение данного представления должно включать список полей, в котором для каждого поля запроса было бы указано уникальное имя.


(с выражением лица)
...
Рейтинг: 0 / 0
29.10.2004, 10:14:23
    #32760468
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
рекомендую остановиться на CreateQueryDef, т.к. с Views.Append могут возникнуть нехорошие заморочки. Точно не скажу какие, одно помню - пол дня головой об стол бился. Кажется ADOX.Catalog видел не все запросы.
...
Рейтинг: 0 / 0
29.10.2004, 10:21:22
    #32760485
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно создать запрос в mdb. Как?
marvanрекомендую остановиться на CreateQueryDef, т.к. с Views.Append могут возникнуть нехорошие заморочки. Точно не скажу какие, одно помню - пол дня головой об стол бился. Кажется ADOX.Catalog видел не все запросы.
согласен - ADOX капризна - DAO надёжней
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программно создать запрос в mdb. Как? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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