powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
7 сообщений из 7, страница 1 из 1
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32694763
Димасик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Родные мои

часа 4 мучаюсь

Вот такая задача у меня

Нужно чтобы в листбоксе InvImport_list были рекордсоурс, который образовывался бы из двух таблиц (Invoices, Invoices_references) с внешней базы данных (c:\BaltParSource.mdb) и из двух таблиц (Destinations, Companies) с локальной базы данных (currentDb)

Пишу код:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Set dbsExt = OpenDatabase("c:\BaltParSource.mdb")
Set qdfInvoices = dbsExt.CreateQueryDef("Invoices_ext", "select * From Invoices;")

Set qdfInvoices_references = dbsExt.CreateQueryDef("Invoices_References_ext", "select * From Invoices_references;")

Me.InvImport_list.RowSource = "SELECT Inv_Date, Inv_No , Inv_ID, Companies.Company_Name, Destinations.Dest_name_abr 
FROM (Companies INNER JOIN (Destinations 
INNER JOIN Invoices_ext ON Destinations.Dest_ID = Invoices_ext.Inv_vessel) ON Companies.Company_ID = Invoices_ext.Inv_Firm) 
INNER JOIN Invoices_References_ext ON Invoices_ext.Inv_ID = Invoices_References_ext.InvRef_Inv_ID 
GROUP BY Inv_Date, Inv_No, Inv_ID, Company_Name, dest_name_abr;

Почему не работает? Может чего пропустил?

А сам принцип верен? Если неверен - то каким образом все это сворганить?

Все DAO, Access 2003, mdb

Спасибо заранее
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32694769
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Me.InvImport_list.RowSource = "SELECT Inv_Date, Inv_No , Inv_ID, Companies.Company_Name, Destinations.Dest_name_abr
FROM (Companies INNER JOIN (Destinations
INNER JOIN [c:\BaltParSource.mdb].Invoices ON Destinations.Dest_ID = Invoices.Inv_vessel) ON Companies.Company_ID = Invoices.Inv_Firm)
INNER JOIN [c:\BaltParSource.mdb].Invoices_References ON Invoices.Inv_ID = Invoices_References.InvRef_Inv_ID
GROUP BY Inv_Date, Inv_No, Inv_ID, Company_Name, dest_name_abr;"

Только, конечно, в одну строку. Или с переносами по правилам.
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32694770
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А первые три строки я убрал. Они создавали два запроса в другой базе, а длинный селект к ней все равно не обращался.
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32695365
Димасик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо

Все заработало

Но все же интересно, так, ради спортивного интереса, можно ли объекты querydef и tabledef использовать в sql запросах?
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32695446
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ДимасикНо все же интересно, так, ради спортивного интереса, можно ли объекты querydef и tabledef использовать в sql запросах?
Можно использовать запросы и таблицы. Только надо правильно указать, в какой базе они находятся.
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32695810
Димасик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я в первом посте определил объекты querydef из другой базы, проверил их, все содержат записи из таблиц другой базы, т.е. определил их правильно

Код: plaintext
1.
2.
3.
Set dbsExt = OpenDatabase("c:\BaltParSource.mdb")
Set qdfInvoices = dbsExt.CreateQueryDef("Invoices_ext", "select * From Invoices;")

Set qdfInvoices_references = dbsExt.CreateQueryDef("Invoices_References_ext", "select * From Invoices_references;")


Вставил их в SQL запрос (см. первый пост), но он не выдает записей, хоть ни на что и не ругается

Может синтаксис должен быть другой? Или что еще?

Спасибо заранее
...
Рейтинг: 0 / 0
Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
    #32695913
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я же объяснил - эти запросы создаются В ДРУГОЙ БАЗЕ (в файле c:\BaltParSource.mdb), а в селекте не сказано, что их надо искать именно там.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, замучился совсем (рекордсоурс из двух таблиц с внешней базы данных и из двух таблиц с локальной базы данных)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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