Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!) / 25 сообщений из 55, страница 1 из 3
11.11.2003, 16:13
    #32320418
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Аксес 97-й, mdb.

Собственно есть Запрос1
Код: plaintext
1.
2.
Select * From ЗапросА
Union All
Select * From ЗапросБ

Столбцов в запросах А и Б одинаковое количество, они одинакового типа и даже называются одинаково.
Запрос работает. Данные выдаются.

Все отлично, все прекрасно. Ровно до тех пор пока не пишем Запрос2
Код: plaintext
Select [Запрос1].[ЛюбоеПоле] From Запрос1

Выдается ошибка "В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов"

Причем "Select * From Запрос1" работает.

Наталкиваюсь на такое безобразие уже в который раз. Раньше было на запросах с уровнем вложенности порядка 15, грешил на слишком сложные конструкции, лечил радикальным переписыванием всего. Тут же структура простая, поменять ее не получится, как бороться - непонятно.

Я уже устал вокруг этого запроса с бубном плясать. Сам по себе - работает, делаешь на основе него новую выборку - не работает, только если выборка Select * - то снова работает. Горе мне, бедному еноту.

Кто-нить сталкивался с подобной проблемой?
...
Рейтинг: 0 / 0
11.11.2003, 16:16
    #32320425
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
> структура простая, поменять ее не получится

А это ты напрасно. :^)

Код: plaintext
1.
2.
Select ЛюбоеПоле From ЗапросА
Union All
Select ЛюбоеПоле From ЗапросБ
...
Рейтинг: 0 / 0
11.11.2003, 16:20
    #32320432
IgorM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
SP jet'а все стоят? Для теста сделал две простейшие таблицы и два запорса, потом все как у тебя. Выбирает и не жужжит.
...
Рейтинг: 0 / 0
11.11.2003, 16:29
    #32320441
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 IgorM
Для теста и у меня все нормально :), а вот для жизни не совсем :(
СП для джета стоят не все. Аксес 97-й СП2, а отдельных сервиспаков для джета 3.5 я что-то не нашел.

2 Саныч
Если б можно было - я бы так и сделал. В том то и дело, что этот юнион в дальнейшем еще используется, на него програмно накладываются условия, формируемые динамически с помощью какого-то ахеренного механизма.
Модифицировать механизм я упарюсь, нужен именно запрос, способный как он есть работать источником для другого запроса. Такова жись.
...
Рейтинг: 0 / 0
11.11.2003, 16:29
    #32320442
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Где тут Сенин Виктор?
...
Рейтинг: 0 / 0
11.11.2003, 16:30
    #32320443
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
SP jet'а все стоят?
у меня на XP берёт любой столбец из union без сервиспаков ... причем на юнионе в третьем вложении тоже пара юнионов :)
...
Рейтинг: 0 / 0
11.11.2003, 16:30
    #32320446
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
А если вместо * поставить список полей через зпт?
...
Рейтинг: 0 / 0
11.11.2003, 16:33
    #32320453
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Саныч
Не было никакого Сенина Виктора
Если * заменить на список хоть всех полей, хоть не всех полей - все ломается.

2 Артист
Да я помню как у меня до 14-го уровня было все нормально, а на 15 сломалось. Было еще и с меньшей степенью вложенности.

Где-то аксесу плохо становится.. Знать бы где..
...
Рейтинг: 0 / 0
11.11.2003, 16:36
    #32320459
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
> Если * заменить на список хоть всех полей, хоть не всех полей - все ломается.

Почему? Потому что у таблицы список полей меняется динамически? Так, может, с этим как-то связана и обсуждаемая проблема? Может, таблица какая-то не такая? Попробуй то же самое на обычной таблице.
...
Рейтинг: 0 / 0
11.11.2003, 16:41
    #32320468
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
У базовых таблиц список полей не меняется. Во всех сохраненных запросах список полей не меняется. Нигде ничего не меняется.
Сам Union отрабатывает и не жужжит.
Когда добавляешь его в конструктор - он отображается нормально, со списком полей. Т.е. аксес его (Union) и скомпилить сумел, и использовать умеет (вернее думает что умеет), а вот как доходит до выполнения - разное число столбцов там, где оно только что было одинаковое.
Бред.
...
Рейтинг: 0 / 0
11.11.2003, 16:44
    #32320473
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
А что ты имел в виду под "все ломается"? Если поставить вместо * список полей, то а) не работает как и со * или б) не удается реализовать алгоритм?
...
Рейтинг: 0 / 0
11.11.2003, 16:51
    #32320484
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Я сталкивался с похожей проблемой, но только в SQL

на SQL 7.0 инструкция типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
insert into (f1,f2,f3)
select s1.*, s2.*
from (..) s1
inner join (..) s2
 -- если смотреть сначала из первой таблицы, а затем из второй
 
 -- по порядку, то общее число и типы полей совпадают
 


отказывалась работать, а на 2000-м работала прекрасно.
Поскольку я перешел на 2000-й, то решил не копаться глубоко.

Понимаю, что это мало чем поможет...
P.S. Э-эх Microsoft!!!
...
Рейтинг: 0 / 0
11.11.2003, 16:56
    #32320494
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
[offtopic]
ЛП, тебе уже практически дорогу из желтого кирпича выложили к Access'y XP. А ты все на 97...
[/offtopic]
...
Рейтинг: 0 / 0
11.11.2003, 16:56
    #32320497
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Саныч
Да алгоритм то не причем.
Еще раз по пунктам:

Запрос1 - работает
Select * From Запрос1 - работает
Select [ЛюбоеПоле] From Запрос1 - не работает. Ошибка 3307, "В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов"
Select перечислили все поля From Запрос1 - не работает.

Шаманство...
...
Рейтинг: 0 / 0
11.11.2003, 16:57
    #32320500
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Темный
Дорогу то выложили... Но если я на ХР свалю - кто ж им будет 97-й программить :)
...
Рейтинг: 0 / 0
11.11.2003, 16:58
    #32320502
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Лох, я не о том!!! Я предлагаю сам Запрос1 переделать.

Select перечислили все поля From ЗапросА
Union All
Select перечислили все поля From ЗапросБ
...
Рейтинг: 0 / 0
11.11.2003, 17:02
    #32320503
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Саныч
Не могу. К этому юниону на ходу прикручиваются составленные гоммункулусом предложения Select (что еще можно побороть), Where (что тоже можно побороть) и навешиваются агрегаты с группировками (вот тут-то кал и начал стекать в сапоги).
...
Рейтинг: 0 / 0
11.11.2003, 17:03
    #32320506
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Тьфу. Саныч, я тебя опять неправильно понял.

То, что ты предложил - пробовал. Не помогает.
...
Рейтинг: 0 / 0
11.11.2003, 17:12
    #32320525
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
А извращаться пробовал? Например, засунуть последнюю конструкцию в рекордсет? И чего он на это скажет.

//коллективные пляски с бубном начались. MSDN молчит, гад.
...
Рейтинг: 0 / 0
11.11.2003, 17:18
    #32320548
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
>Где тут Сенин Виктор?

Я тут

>Не было никакого Сенина Виктора

Не было

==
По делу чуть по пойзже ибо колбасю функцию на 50 с чем то полей (ака перекрестный запрос), если ошибусь по не внимательности - мне пипиську оторвут :)
...
Рейтинг: 0 / 0
11.11.2003, 17:19
    #32320552
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
а соответственные поля по разному именуются в селектах юниона?
если да, мож попробовать их обозвать по одинаковому?
Select поле1 as X, поле7 as Y ... From ЗапросА
Union All
Select поле2 as X, поле5 as Y ... From ЗапросБ
...
Рейтинг: 0 / 0
11.11.2003, 17:22
    #32320559
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
Все конструкции засовывал в во все рекордсеты. Не помогает.

Чувствую придется мне сегодня вечером мароссс петь, в бубен бить, злых духов от компа отгонять.
...
Рейтинг: 0 / 0
11.11.2003, 17:22
    #32320561
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Артист:

автор писал:они одинакового типа и даже называются одинаково
...
Рейтинг: 0 / 0
11.11.2003, 17:22
    #32320563
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2 Артист
Поля именуются одинаково.
...
Рейтинг: 0 / 0
11.11.2003, 17:24
    #32320570
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
2ЛП

Если возможно, дай текст ошибки на англицком языке ну или ее нумер
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!) / 25 сообщений из 55, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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