Одним запросом, видимо, не удастся. Первым нужно найти в какой таблице лежит искомое значение, а вторым вытащить само значение
SELECT *
FROM
(
SELECT table1.*, 'table1' AS TableName FROM table1
UNION ALL
SELECT table2.*, 'table2' FROM table2
UNION ALL
SELECT table3.*, 'table3' FROM table3
)
WHERE
TableName = 'искомое имя таблицы' AND id = искомыйid
sql = "SELECT Table FROM tbl0 WHERE ID = " & Id
Set rs = cn.Execute(sql)
TableName = rs("Table").Value
sql = "SELECT Name FROM " & TableName & " WHERE ID = " & Id
sql = "SELECT * FROM (SELECT * tbl1 UNION ALL SELECT * FROM tbl2) WHERE ID = " & Id
AndreyG_80 писал(а):Как програмно в VB это сделать - я знаю.
Но нужно в Access это делать.
Наверное прийдется использовать VBA.
SELECT * FROM (SELECT * tbl1 UNION ALL SELECT * FROM tbl2) WHERE ID = seekId
Konst_One писал(а):ты пост GSerg смотрел
SELECT * FROM (SELECT * tbl1 UNION ALL SELECT * FROM tbl2) WHERE ID = seekId
Konst_One писал(а):что-то мой инет сегодня притормаживает
AndreyG_80 писал(а):
- Код: Выделить всё
SELECT * FROM (SELECT * tbl1 UNION ALL SELECT * FROM tbl2) WHERE ID = seekId
Я так понял, что это для двух таблиц, а если в базе около 50 таблиц и в каждой куча записей?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2