powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Эмуляция сохраненного запроса. Возможно ли это?
5 сообщений из 5, страница 1 из 1
Эмуляция сохраненного запроса. Возможно ли это?
    #32117497
Hayder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли открыть запрос на выборку не сохраняя его в виде сохраненного запроса?

Есть текст SQL запроса (только на выборку).
Есть VBA процедура.
Как из нее окрыть данный запрос в виде визуальной таблички не создавая сохраненного запроса.(можно использовать временный (temporary QueryDef) запрос)?
...
Рейтинг: 0 / 0
Эмуляция сохраненного запроса. Возможно ли это?
    #32125281
MoHock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В CD к книге "Разработка настольных приложений в Ассеss 2002 (для профессионалов)" (авторы Пол Литвин, Кен Гетц, Майк Гунделой, изд. Питер-2002) есть форма и три Модуля. Все это называется - SQL Scratchpad. Форма работает как редактор запросов. Пишешь запрос, кликаешь кнопку RunSQL и получаешь результат своего запроса. Покопаешься в модулях, может поможет
...
Рейтинг: 0 / 0
Эмуляция сохраненного запроса. Возможно ли это?
    #32125331
-=Alexey=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если создается QueryDef c пустым именем (имя - пустая строка), то этот Query временный, как только изчезнет переменная связанная с ним так изчезнет и Query. Далее пример из помощи access 2k

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Sub ClientServerX2()
    Dim dbsCurrent As Database
    Dim qdfBestSellers As QueryDef
    Dim qdfBonusEarners As QueryDef
    Dim rstTopSeller As Recordset
    Dim rstBonusRecipients As Recordset
    Dim strAuthorList As String

    ' Open a database from which QueryDef objects can be created.'
    Set dbsCurrent = OpenDatabase( "DB1.mdb" )

    ' Create a temporary QueryDef object to retrieve'
    ' data from a Microsoft SQL Server database.'
    Set qdfBestSellers = dbsCurrent.CreateQueryDef( "")
    With qdfBestSellers
        .Connect = " ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers "
        .SQL = " SELECT title, title_id FROM titles ORDER BY ytd_sales DESC "
        Set rstTopSeller = .OpenRecordset()
        rstTopSeller.MoveFirst
    End With

    ' Create a temporary QueryDef to retrieve data from'
    ' a Microsoft SQL Server database based on the results from the first query.'
    Set qdfBonusEarners = dbsCurrent.CreateQueryDef("  ")
    With qdfBonusEarners
        .Connect = " ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers "
        .SQL = " SELECT * FROM titleauthor WHERE title_id = '" & _
            rstTopSeller!title_id & "' "
        Set rstBonusRecipients = .OpenRecordset()
    End With

    ' Build the output string.'
    With rstBonusRecipients
        Do While Not .EOF
            strAuthorList = strAuthorList & "    " & _
                !au_id & " :  $ " & (10  * !royaltyper) & vbCr
            .MoveNext
        Loop
    End With

    ' Display results.'
    MsgBox "Please send a check to the following  " & _
        " authors in the amounts shown: " & vbCr & _
        strAuthorList & " for outstanding sales of  " & _
        rstTopSeller!Title & " ."

    rstTopSeller.Close
    dbsCurrent.Close

End Sub
...
Рейтинг: 0 / 0
Эмуляция сохраненного запроса. Возможно ли это?
    #32126836
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"окрыть данный запрос в виде визуальной таблички "

ежели имеется в виду стандартная форма представления запроса (таблицы) Access, то это делается DoCmd.OpenQuery(Имя,,), и обойти имя запроса затруднительно. Можно конечно вывести рекордсет в неком виде, например в текстовое поле (поля), но проще всего поюзать сохраненный запрос(любой)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function SHow_tmpQDF(strSQL As String)
Dim qdf As QueryDef
Dim strSQL0 As String

    Set qdf = CurrentDb.QueryDefs( "Tmp" )
    strSQL0 = qdf.SQL
    qdf.SQL = strSQL
    DoCmd.OpenQuery ( "Tmp" )
    qdf.SQL = strSQL0
    Set qdf = Nothing
End Function


или даже создать и порушить...
...
Рейтинг: 0 / 0
Эмуляция сохраненного запроса. Возможно ли это?
    #32126966
-=Alexey=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"открыть данный запрос в виде визуальной таблички "
никаких проблем не представляет, так как свойство Recordset у формы доступно для записи.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Эмуляция сохраненного запроса. Возможно ли это?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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