powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавления результата проверки в новый столбец
26 сообщений из 26, показаны все 2 страниц
Добавления результата проверки в новый столбец
    #38685636
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

На другой ветке форума сделали запрос в базе Acssess на проверку значений таблицы.
Можно ли сделать такой запрос в Excel? Я уже всё перепробовал - не получается.

Спасибо.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685651
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИне получаетсяудивительно развернутое описание проблемы

ЗЫ: я ваши файлы попробовал, у меня все получается
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685676
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Дело в том, что сам запрос формируется в базе данных. А мне нужно чтобы я в модуле Excel сформировал запрос и отправил его в базу данных.
Я пробовал так, но не получалось (ошибка с кол-во аргументов выводилась):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
    SELECT *, 
    IIF(EXISTS(SELECT * FROM ВТОРАЯ WHERE 
                ВТОРАЯ.NAME = ПЕРВАЯ.NAME  
            and ВТОРАЯ.SITY = ПЕРВАЯ.SITY  
            and ВТОРАЯ.OLD = ПЕРВАЯ.OLD) 
            , 'ОК', 'НЕТ') as ПРОВЕРКА 
    FROM ПЕРВАЯ 
    WHERE ПЕРВАЯ.ID=15000


Пробовал с функцией DCOUNT, но тоже ничего (на ветке с Acssess Добавления результата проверки в новый столбец сказали что с этой функцией не получится ...).
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685699
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в подзапросе вы выбираете только из таблицы ВТОРАЯ, но пытаетесь использовать имя ПЕРВАЯ, которое вы не выбираете

и вообще, нафиг там подзапрос? обычным join решается проблема
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685712
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proв подзапросе вы выбираете только из таблицы ВТОРАЯ, но пытаетесь использовать имя ПЕРВАЯ, которое вы не выбираете

и вообще, нафиг там подзапрос? обычным join решается проблема

Не совсем - нужно импортировать в Excel таблицу точно такую же как в базе, а при объединении кол-во строк будет увеличено, если во второй таблице будет более 1 совпадения.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685713
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще косяки:
В таблице ПЕРВАЯ нет поля CITY
В таблицах не совпадают типы данных для полей OLD (в одной текстовый, в другой числовой)
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685715
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИбудет увеличено для избежания этого существует оператор GROUP BY
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685723
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВЕРТИбудет увеличено для избежания этого существует оператор GROUP BYВ любом случае этот "аксессовский" sql-синтаксис, где вы можете в подзапросе использовать поля вышестоящей таблицы, в jet не пройдет, так что пишите join
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685732
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

А можно базу SQL использовать, где SQL запросы нормально проходят?
Может подскажите ресурс с описанием?

И по поводу GROUP BY - пробую
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685755
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИА можно базу SQL использовать, где SQL запросы нормально проходят?вы у меня разрешения спрашиваете? Благословляю!

Выбор СУБД зависит от конкретных задач, естественно.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685757
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИгде SQL запросы нормально проходят?такой запрос, как вы написали, проходит только в аксесс, он (если не ошибаюсь) не соответствует стандартам sql
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685765
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Всё дело в одинарных кавычках - все функции работают. Но не могу понять почему у них результат не тот что я предполагаю (в приложении и база и файл с всеми функциями).

Прошу в этом помочь.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685772
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
функция просто возвращает кол-во строк во ВТОРОЙ таблице. А почему?
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685795
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИфункция просто возвращает кол-во строк во ВТОРОЙ таблице. А почему?А почему она должна возвращать что-то другое? ВЕРТИрезультат не тот что я предполагаюоткуда функции знать, что вы предполагаете?
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685814
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

в запросе должно быть подсчитано кол-во строк, которые соответствуют условиям.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685818
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИв запросе должно бытьтолько запрос об этом не знает, потому что вы это запросу не сказали!

ох, блин, проще самому написать, чем заставить вас переписать запрос не через ж..у

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Query = _
    "SELECT ПЕРВАЯ.ID, ПЕРВАЯ.NAME, ПЕРВАЯ.SITY, ПЕРВАЯ.OLD, ПЕРВАЯ.УК, " & _
    "Count(ВТОРАЯ.ID) AS ПРОВЕРКА " & _
    "FROM ПЕРВАЯ  " & _
    "LEFT JOIN ВТОРАЯ ON " & _
            "    ВТОРАЯ.NAME = ПЕРВАЯ.NAME  " & _
            "and ВТОРАЯ.SITY = ПЕРВАЯ.SITY  " & _
            "and ВТОРАЯ.ID = ПЕРВАЯ.ID " & _
            "and ВТОРАЯ.OLD = ПЕРВАЯ.OLD " & _
    "WHERE ПЕРВАЯ.ID=15000 " & _
    "GROUP BY ПЕРВАЯ.ID, ПЕРВАЯ.NAME, ПЕРВАЯ.SITY, ПЕРВАЯ.OLD, ПЕРВАЯ.УК"
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685826
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Запрос пробую. Так почему функция DCOUNT не срабатывает?
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685833
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЕРТИТак почему функция DCOUNT не срабатывает?Почему? Она срабатывает, честно считает количество записей в объединении двух таблиц.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685858
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProВЕРТИТак почему функция DCOUNT не срабатывает?Почему? Она срабатывает, честно считает количество записей в объединении двух таблиц.

Это в Вашем запросе функция COUN работает. А в моём то нет. Я про это спрашиваю.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685876
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я говорю про ваш DCOUNT. Он честно показывает то, что вы от него просите - 4 записи.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685892
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Для этого (показа 4-х строк) нужно выполнение всех условий - а по факту нет такого.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685917
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она показывает количество записей в таблице ВТОРАЯ
В качестве третьего параметра (условия) нам написан какой-то бред, даже говорит не о чем, текстовые константы объединенные логическими операторами.

Не надо использовать такую констукцию, это неправильно.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685924
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Вас понял. А как тогда использовать функцию DCOUNT?
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685942
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласно справке.

Ее НЕ НАДО!!!!!! использовать как часть SQL-запроса. Она используется, например, в полях аксесса как самостоятельная функция.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685946
ВЕРТИ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProСогласно справке.

Ее НЕ НАДО!!!!!! использовать как часть SQL-запроса. Она используется, например, в полях аксесса как самостоятельная функция.

Понял. Спасибо Вам за помощь.
В итоге запрос для обработки 750 000 записей зависает. Но на заметку я себе взял.
...
Рейтинг: 0 / 0
Добавления результата проверки в новый столбец
    #38685949
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставка 750000 записей в эксель в цикле??????
ну-ну, неудивительно.

Вообще, такие объемы данных лучше вообще в экселе не обрабатывать.
Но если очень сильно приспичило - смотрите в сторону функции CopyFromRecordset, но тогда доступ к базе данных придется переделать с DAO на ADO. Примеров на форуме полно.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавления результата проверки в новый столбец
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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