![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Редактирование записей в TADOQuery при запросе SELECT ... JOIN [D6, MSSQL, MS Access 2000]
Nikolai_S © (2003-12-08 12:59:00)
Есть БД в MS Access 2000 и БД с аналогичной структурой в MS SQL Server 2000.
В TADOConnection подсоединяюсь к базе MS Access.
В TADOQuery я делаю запрос, который выдает записи с полями из таблицы ORGANIZATION сразу и из Access"а, и из SQL Server"а:
SELECT ORG.*, ORG_1.*
FROM ORGANIZATION AS ORG INNER JOIN [ODBC;DRIVER=SQL Server;SERVER=BISINFO-SQL;UID=ROPR_USER;PWD=555;DATABASE=BISINFO_ROPR].ORGANIZATION AS ORG_1 ON ORG.INN = ORG_1.INN
Необходимо, чтобы можно было редактировать поля TADOQuery, которые принадлежат базе MS Access. Остальные я просто сделал ReadOnly.
При попытке редактирования возникает ошибка:
Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.
Хотя я в TADOQuery выставил:
ADOQuery.OrgDubs.Properties["Unique Table"].Value := "ORGANIZATION";
Может ошибка из-за того, что таблица ORGANIZATION имеется в обих базах? Если в качестве Unique Table прописать алиас "ORG", то возникает ошибка, что уникальная таблица не найдена.
JibSkeart (2003-12-08 14:21:00) [1]
пока в JOIN не стали связываться две таблицы с одинаковым названием и из разных БД
ну вот ты наверное и ответил на свой вопрос .
копай теперь отсюда :)
Nikolai_S (2003-12-08 14:13:00) [2]
Еще как отредактируешь. Для того в ADO и имеется свойство Unique Table. Раньше у меня все работало, пока в JOIN не стали связываться две таблицы с одинаковым названием и из разных БД.
JibSkeart (2003-12-08 13:57:00) [3]
Если я ничего не путаю ,
то при использования union и join
табличку уже чере Update...Post не отредактируешь .
а эта ошибка вылазит скорее всего изза того что,
что то намудрeнно с индексами .