powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос с LEFT JOIN к DBF файлам
11 сообщений из 11, страница 1 из 1
Запрос с LEFT JOIN к DBF файлам
    #34706948
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!!!

Есть запрос...
Код: plaintext
1.
2.
3.
select t1.qqq, t2.www, t3.eee
from table1 t1, table2 t2 left join table3 t3 on t2.aaa=t3.aaa
where t2.aaa='TEST' 

... и есть проблема. Если из запроса выкинуть всё, что связанно с таблицей Table1 то LEFT JOIN работает как часы. При наличии более двух таблиц VBA выдаёт неопознанную ошибку.

И вот что интересно... Если это запрос (с тремя таблицами) делать из любого другого софта (SQL Explorer и пр.),то всё работает.

В чём может быть моя ошибка??
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34706970
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишите либо через запятую (table1 t1, table2 t2, table3 t3), либо явно джойньте все три таблицы.
И, кстати, вы не указали условия соединения t1 и t2, поэтому ваш запрос лишен смысла.
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34706998
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesПишите либо через запятую (table1 t1, table2 t2, table3 t3)
А какой в этом смысл? Он осечёт все строки, по которым нет инфы в таблице 3

MelkiadesИ, кстати, вы не указали условия соединения t1 и t2, поэтому ваш запрос лишен смысла.

За это - пардон му а.

Код: plaintext
1.
2.
select t1.qqq, t2.www, t3.eee
from table1 t1, table2 t2 left join table3 t3 on t2.aaa=t3.aaa
where t2.aaa='TEST' and t1.ddd=t2.ddd 

и всё-таки... Почему VBA не позволяет реализовать вышеуказзаный запрос?
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707016
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiadesлибо явно джойньте все три таблицы...
А это как?
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707129
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VBA тут ни при чём. Запрос написан неверно.
Код: plaintext
1.
2.
select t1.qqq, t2.www, t3.eee
from table1 t1, table2 t2 ,table3 t3 where t2.aaa='TEST' and t1.ddd=t2.ddd and t2.aaa*=t3.aaa

Код: plaintext
1.
2.
3.
select t1.qqq, t2.www, t3.eee
from table1 t1 inner jin table2 t2 on t1.ddd=t2.ddd 
left join table3 t3 on t2.aaa=t3.aaa
where t2.aaa='TEST' 
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707250
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserVBA тут ни при чём. Запрос написан неверно.

Согласен. Это всё для упрощения моего запроса, вот и наделал ошибок.

Правда после JOINа всех таблиц поочереди ошибка снова не уходит.

Вот кусок оригинального запроса

Код: plaintext
1.
2.
3.
4.
select ls.nbsnew, ls.pap, ls.nbsnew+ls.kodval+ls.nlsnew as Sh, ls.namls, ls.nlsnew, org.name, lc.dd, o.name
from  ls07 ls RIGHT JOIN lc077 lc on ls.nls=lc.nls
              LEFT JOIN org o on ls.org=o.org
where ls.iskl is null and lc.dd<='31.07.2007'
order by ls.nbsnew desc

Вот почему он в VBA EXCEL не работат?
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707358
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А код у этой ошибки есть?
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707376
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesА код у этой ошибки есть?

Automation error. И всё... :((
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707445
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
joe black
Код: plaintext
where ls.iskl is null and lc.dd<='31.07.2007'
дату укажи в американском формате с решётками #07/31/2007#
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707469
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_ joe black
Код: plaintext
where ls.iskl is null and lc.dd<='31.07.2007'
дату укажи в американском формате с решётками #07/31/2007#

Не.... С датой проблем нет - это точно!!!
Я передаю дату так
Код: plaintext
#" & Format("31. 07 . 2007 ", "MM\/DD\/YYYY") & "# 

Просто тот запрос - тестовый вариант. Я его сделал в SQL Explorer.

Трабла именно в JOIN. Если оставляю только один JOIN, то всё работает - отбирает как нада.
А вот при обработке трёх таблиц - болт!!!
...
Рейтинг: 0 / 0
Запрос с LEFT JOIN к DBF файлам
    #34707813
joe black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БратЫ и сЕстры!!!

Решил я свою траблу. Я слегка модифицировал запрос и вложил JOINы друг в друга...

Код: plaintext
1.
2.
3.
select ls.nbsnew, ls.pap, ls.nbsnew+ls.kodval+ls.nlsnew as Sh, ls.namls, ls.nlsnew, org.name, lc.dd, o.name
from  lc077 lc INNER JOIN (ls07 ls LEFT JOIN org o on ls.org=o.org) on ls.nls=lc.nls
where ls.iskl is null and lc.dd<='31.07.2007'
order by ls.nbsnew desc

Передавал дату так...

Код: plaintext
#" & Format("31. 07 . 2007 ", "MM\/DD\/YYYY") & "# 

VBA всё это скушал и выдал то что мне было нужно!!!!


Всем спасибо за участие!
Вопрос закрыт!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос с LEFT JOIN к DBF файлам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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