powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / в mdb. возможно построение подзапросов?
25 сообщений из 26, страница 1 из 2
в mdb. возможно построение подзапросов?
    #32759095
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759098
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759171
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
схема запроса такова:

SELECT podzapr.Field FROM (SELECT Table.Field FROM Table) as podzapr

Что я делаю не так?
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759183
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно field зарезервированное слово - возьми в квадратные скобки
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759188
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT podzapr.[Field] FROM (SELECT [Table].[Field] FROM [Table]) as podzapr
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759207
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКSELECT podzapr.[Field] FROM (SELECT [Table].[Field] FROM [Table]) as podzapr


я накалякал как шаблон, истинные имена полей другие.

По такому шаблону я создал запрос, несрабатывает говорит что ошибка
в предложении FROM.

Я где-то видел построение по другому шаблону через WHERE,
пойду поищу...
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759214
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия аксесса?
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759220
Нерюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конструкция were in (select ...) - тоже пример подзапроса.
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759229
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НерюхКонструкция were in (select ...) - тоже пример подзапроса.

будьте любезнее по подробнее пожалуйста.

Версия Access XP.формат (access 2000)
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759251
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос в студию!
людям проще подсказать будет
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759258
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этот запрос я запускал через модуль , предварительно
толкнув текст запроса в переменную String, с помощью
CurrentProject.connection.Execute.
несработало.

Но построив жёстко Несколько запросов,
всё получилось.

Но проблема такова как этот запрос запустить через
CurrentProject.Connection.Execute ?

так как через этот запрос будет выполнен запрос на добавление,
соответственно я хочу его толкнуть в одной транзакции с
другими запросами.
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759261
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"по подробнее пожалуйста"

даааа.
мудростью от такого клена явно не пахнет

а может сначала справочку посмотреть, а?

Создание подчиненного запроса
Результаты одного запроса могут использоваться в качестве входных данных для другого запроса. Обычно результаты подчиненного запроса используются как условия поиска в функции IN( ) или операторе EXISTS. Подчиненный запрос можно также использовать в предложении FROM.

Для создания подчиненных запросов используют область сетки или область SQL.

Определение подчиненного запроса EXISTS в области сетки

В окне базы данных выберите Запросы в списке Объекты, выберите главный запрос, который следует открыть, и нажмите кнопку Конструктор на панели инструментов окна базы данных.
В столбец Столбец первой пустой строки в области Сетка введите ключевое слово EXISTS, за которым следует подчиненный запрос в круглых скобках.
В столбец Условие строки, содержащей подчиненный запрос, введите TRUE, FALSE, =TRUE или =FALSE. Ввод FALSE или =FALSE приведет к созданию запроса NOT EXISTS.
Примечание. Чтобы создать запрос NOT EXISTS, необходимо создать запрос EXISTS, как было описано ранее, и ввести в столбец «Условие» значение FALSE. Если в область сетки ввести ключевые слова NOT EXISTS, конструктор запросов выдает сообщение об ошибке.

Определение подчиненного запроса в области SQL

В окне базы данных выберите Запросы в списке Объекты, выберите главный запрос, который следует открыть, и нажмите кнопку Конструктор на панели инструментов окна базы данных.
При необходимости нажмите кнопку SQL для вывода на экран области SQL.
В области SQL выберите инструкцию SQL, а затем с помощью команды Копировать поместите запрос в буфер обмена.
Запустите новый запрос и с помощью команды Вставить поместите первый запрос в предложение WHERE или FROM нового запроса.
Предположим, например, что существуют две таблицы products и suppliers и требуется создать запрос, показывающий все товары от поставщиков из Швеции. Создайте первый запрос в таблице suppliers для нахождения всех поставщиков из Швеции:

SELECT supplier_id
FROM supplier
WHERE (country = 'Sweden')
Поместите этот запрос в буфер с помощью команды «Копировать». Создайте второй запрос по таблице products для получения необходимых сведений о товарах:

SELECT product_id, supplier_id, product_name
FROM products
В области SQL добавьте предложение WHERE во второй запрос, а затем вставьте первый запрос из буфера. Заключите первый запрос в круглые скобки, как показано в следующем примере:

SELECT product_id, supplier_id, product_name
FROM products
WHERE supplier_id IN
(SELECT supplier_id
FROM supplier
WHERE (country = 'Sweden'))
Примечание. При добавлении подчиненного запроса в предложение WHERE подчиненный запрос отображается в столбце Условие в области сетки. Далее его можно редактировать в области сетки или в области SQL. Однако таблицы, представления, функции, столбцы и выражения, на которые существуют ссылки в подчиненном запросе, в области схемы и сетки не отображаются.
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759266
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikPЗапрос в студию!
людям проще подсказать будет

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT Sotr_tab.S
FROM   sel_sostav_tab 
       LEFT JOIN (SELECT SOTRUDNIKI.S, 
                         SOTRUDNIKI.TabN, 
                         SOTRUDNIKI.F, 
                         SOTRUDNIKI.I, 
                         SOTRUDNIKI.[Дата рожд]
                  FROM   SOTRUDNIKI
                  WHERE  (((SOTRUDNIKI.P)= 1 ) AND 
                         ((SOTRUDNIKI.Podr)= 1 ) AND 
                         ((SOTRUDNIKI.Del)=False));) as Sotr_tab 
        ON (sel_sostav_tab.[Tаб#N] = Sotr_tab.TabN) AND
           (sel_sostav_tab.I = Sotr_tab.I) AND 
           (sel_sostav_tab.F = Sotr_tab.F);
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759281
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
; убери во вложенном запросе в конце
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759287
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
SELECT Sotr_tab.S
FROM sel_sostav_tab LEFT JOIN (SELECT SOTRUDNIKI.S, SOTRUDNIKI.TabN, SOTRUDNIKI.F, SOTRUDNIKI.I, SOTRUDNIKI.[Дата рожд]
FROM SOTRUDNIKI
WHERE (((SOTRUDNIKI.P)= 1 ) AND ((SOTRUDNIKI.Podr)= 1 ) AND ((SOTRUDNIKI.Del)=False))) as Sotr_tab ON (sel_sostav_tab.[Tаб#N] = Sotr_tab.TabN) AND (sel_sostav_tab.I = Sotr_tab.I) AND (sel_sostav_tab.F = Sotr_tab.F);

так на ошибку в From не должен ругаться
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759300
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikP; убери во вложенном запросе в конце

не помогает.

При сохранении такого запроса.
Access закрывает своё приложение без предупреждения.

В adp есть опыт в построении подобных запросов, проблем не возникало.

Вопрос такой как запустить сохраненный запрос,
с помощью CurrentProject.Connection.Execute?
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759321
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудрый клёнВопрос такой как запустить сохраненный запрос,
с помощью CurrentProject.Connection.Execute?
на счет этого не в курсе
а From ругался именно на ; и перевод на следующую строку
(сам не раз сталкивался)
значит еще где-то ошибка
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759326
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему через Execute? Не через Open ли часом?

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759329
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoCmd.RunSQL ...
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759344
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DafDoCmd.RunSQL ...

господа а как же транзакции, если через данный запрос буду
запускать Инструкцию INSERT INTO, причемпомимо этого запроса в одной транзакции будут участвовать несколько запросов.
Так что на DoCmd.RunSQL гарантий нет.

Вообще DoCmd.RunSQL не использую.
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759387
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Синтаксис

DoCmd.RunSQL инструкцияSQL[, использоватьТранзакцию]

[использовать Транзакцию] - Чтобы включить этот запрос в транзакцию
следует задать значение True (– 1 ). Чтобы отказаться от использования 
транзакции следует задать значение False ( 0 ). Если этот аргумент оставлен 
пустым, используется значение по умолчанию (True).
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759400
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все понятно, но все же несоветую вообще неиспользовать
DoCmd.RunSQL.
Она никак не сравнится с ADO.
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759414
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модераторам - Спасибо за правку ...

Автор - что лучше самосвал или легковая машина... Вот в чем вопрос ...
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759496
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня работает и через execute
Access XP SP3
Референсы DAO 3.6 ADO 2.8
MDAC2.8
MSJETsp8

Код: plaintext
1.
2.
3.
4.
reccount = CurrentProject.Connection.Execute(_
                "select count(*) from " & _
                "(SELECT distinct  Люди.Человек, Люди.Наименование " & _
                "FROM Накладные INNER JOIN Люди ON " & _
                "Накладные.Экспедитор = Люди.Человек )").GetRows

Geo: расстановка переводов строки в тегах src еще не автоматизирована... :)
...
Рейтинг: 0 / 0
в mdb. возможно построение подзапросов?
    #32759712
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, гео

хотя лично моему встроенному sql компилятору однострочный код роднее

зы Будешь в москве заходи пить водку
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / в mdb. возможно построение подзапросов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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