iGrok писал(а):Можно слинковать все БД средствами Access (связанные таблицы), и сделать один нормальный запрос с UNION.
Либо средствами того же Access создать новую БД, куда будут прилинкованы все эти, и опять же сделать один запрос.
For qty = 1 To Количество таблиц
strSQL_all_(qty) = "select * from " & qty & " where [MODEL] LIKE '" & Текст запроса & "' ORDER BY ID ASC"
next
If Таблиц = 3 Then
strSQL = "(" & strSQL_all_(1) & ") UNION (" & strSQL_all_(2) & ") UNION (" & strSQL_all_(3) & ")"
End If
strSQL = "(" & Join( strSQL_all_ , ") UNION (" ) & ")"
iGrok писал(а):Первую часть оставляешь как есть. Вторую меняешь на:
- Код: Выделить всё
strSQL = "(" & Join( strSQL_all_ , ") UNION (" ) & ")"
По идее, будет действовать для любого кол-ва таблиц.
(select * from 0 where [MODEL] LIKE 'Текст_запроса' ORDER BY ID ASC) UNION (select * from 1 where [MODEL] LIKE 'Текст_запроса' ORDER BY ID ASC) UNION (select * from 2 where [MODEL] LIKE 'Текст_запроса' ORDER BY ID ASC) UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION () UNION
Ой жуть какая. =)SerJay писал(а):Спасибо, идея хорошая, по идее объединяет, но...пишет слишком сложный запрос. Это три таблицы, и огромное количество UNION ()...
'Там, где у тебя в программе Dim strSQL_all_(размер) нужно написать
Dim strSQL_all_() As String
'Потом, когда узнаешь сколько у тебя всего таблиц нужно сделать:
ReDim strSQL_all_(tables_count - 1)
Объединяю запросы
strSQL = "(" & Join(strSQL_all_brand, ") UNION (") & ")"
Открываю рекордсет
rs.Open strSQL & " ORDER BY BRAND ASC", conn
SerJay писал(а):Необходимо делать поиск по всем базам и результат грузить в рекордсет. Заранее спасибо
iGrok писал(а):Ну или сделать несколько view, скажем, по 10 таблиц.
iGrok писал(а):А зачем тебе выкидывать ВСЕ результаты в один рекордсет? Может, использовать какую-то другую структуру для хранения результата?
SELECT списокПолей
FROM выражение [IN внешняяБазаДанных]
Andrey Fedorov писал(а):копировать их содержимое в один отвязанный Recordset
Andrey Fedorov писал(а):Сколько хоть записей в этих 50-и табличках?
SerJay писал(а):Andrey Fedorov писал(а):копировать их содержимое в один отвязанный Recordset
Андрей не подскажешь как это делать?
Andrey Fedorov писал(а):Сколько хоть записей в этих 50-и табличках?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 222