Страница: 1 |
Страница: 1 |
Вопрос: Проблема с Update при выбрке из 2 таблиц.
Добавлено: 27.07.05 13:54
Автор вопроса: Nonamer | Web-сайт:
Есть такая проблема:
Имеется 2 таблицы:
TABLE_1:
kod
name
TABLE_2:
kod
dopusk
делаем сводную таблицу и меняем допуск у одного из рабочих:
Adodc1.ConnectionString = "........"
Adodc1.RecordSource = "SELECT TABLE_1.name, TABLE_2.dopusk, TABLE_2.kod FROM TABLE_2INNER JOIN TABLE_1 ON TABLE_2.kod = TABLE_1.kod ORDER BY TABLE_1.name;"
Adodc1.Refresh
... по событию ...
Adodc1.Recordset.Fields("dopusk").Value = 10
Adodc1.Recordset.Update
и вот на последней строке происходит ошибка:
Run-time error -2147467259 (80004005)
"Недостаточно сведений ключевого поля для обновления"
Почему возникает ошибка и что надо сделать чтобы можно придумать?
Зараннее благодарен.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
.:: St!X ::.
ICQ: 339888425
Вопросов: 13
Ответов: 51
Web-сайт:
Профиль | | #1
Добавлено: 27.07.05 14:12
может быть проблема в типе курсора?
а может лучше использовать SQL запрос на UPDATE?
или вообще отказаться от adodc и юзать adodb? там все быстрее и лучше делается
Номер ответа: 2
Автор ответа:
Nonamer
ICQ: 268674940
Вопросов: 31
Ответов: 69
Web-сайт:
Профиль | | #2
Добавлено: 27.07.05 14:28
На счет курсоров:
"... Курсоры со стороны клиента всегда статичиские, независимо от значения, указанного для свойства CursorType." Книга "Руководство разработчика БД на VB"
Так что курсор тут не причем. Если перейти на adodb, то много переписывать придется... все таки должен же быть какой то способ нормально изменять строки в составных таблицах.
Так что проблема пока еще не решена.
Номер ответа: 3
Автор ответа:
.:: St!X ::.
ICQ: 339888425
Вопросов: 13
Ответов: 51
Web-сайт:
Профиль | | #3
Добавлено: 27.07.05 14:34
а как насчет UPDATE????
Номер ответа: 4
Автор ответа:
Nonamer
ICQ: 268674940
Вопросов: 31
Ответов: 69
Web-сайт:
Профиль | | #4
Добавлено: 27.07.05 14:39
В каком смысле Update?
Если имеется в виду вызов Update после изменения данных, то как раз на нем и возникает ошибка.
Номер ответа: 5
Автор ответа:
Hunter2003
ICQ: 287314254
Вопросов: 14
Ответов: 72
Профиль | | #5
Добавлено: 28.07.05 09:03
Господа, прочтите Microsoft Data Access SDK!
Эта проблема легко решается:
Номер ответа: 6
Автор ответа:
Nonamer
ICQ: 268674940
Вопросов: 31
Ответов: 69
Web-сайт:
Профиль | | #6
Добавлено: 08.08.05 15:52
как бы все не так просто...
Действительно, если использовать Jet, то это срабатывает. Это первое, что я попробовал. Но я работаю на старых досовский базах DBF, где такое не прокатывает.
Но вопрос решился по другому... сделал чисто SQL команду на удаление и все стало нич. работать!
Тем не менее... всем огромное спасибо за советы.