Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Проблема с Update при выбрке из 2 таблиц. Добавлено: 27.07.05 13:54  

Автор вопроса:  Nonamer | Web-сайт: nonsoft.narod.ru | ICQ: 268674940 
Есть такая проблема:
Имеется 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-сайт: www.ks-brand.ru
 Профиль | | #1
Добавлено: 27.07.05 14:12
может быть проблема в типе курсора?
а может лучше использовать SQL запрос на UPDATE?
или вообще отказаться от adodc и юзать adodb? там все быстрее и лучше делается

Ответить

Номер ответа: 2
Автор ответа:
 Nonamer



ICQ: 268674940 

Вопросов: 31
Ответов: 69
 Web-сайт: nonsoft.narod.ru
 Профиль | | #2
Добавлено: 27.07.05 14:28
На счет курсоров:
"... Курсоры со стороны клиента всегда статичиские, независимо от значения, указанного для свойства CursorType." Книга "Руководство разработчика БД на VB"
Так что курсор тут не причем. Если перейти на adodb, то много переписывать придется... все таки должен же быть какой то способ нормально изменять строки в составных таблицах.
Так что проблема пока еще не решена. :(

Ответить

Номер ответа: 3
Автор ответа:
 .:: St!X ::.



ICQ: 339888425 

Вопросов: 13
Ответов: 51
 Web-сайт: www.ks-brand.ru
 Профиль | | #3
Добавлено: 27.07.05 14:34
а как насчет UPDATE????

Ответить

Номер ответа: 4
Автор ответа:
 Nonamer



ICQ: 268674940 

Вопросов: 31
Ответов: 69
 Web-сайт: nonsoft.narod.ru
 Профиль | | #4
Добавлено: 27.07.05 14:39
В каком смысле Update?
Если имеется в виду вызов Update после изменения данных, то как раз на нем и возникает ошибка.

Ответить

Номер ответа: 5
Автор ответа:
 Hunter2003



ICQ: 287314254 

Вопросов: 14
Ответов: 72
 Профиль | | #5 Добавлено: 28.07.05 09:03
Господа, прочтите Microsoft Data Access SDK!
Эта проблема легко решается:

Adodc1.Recordset.Properties("Unique Table";) = "TABLE_1"

Ответить

Номер ответа: 6
Автор ответа:
 Nonamer



ICQ: 268674940 

Вопросов: 31
Ответов: 69
 Web-сайт: nonsoft.narod.ru
 Профиль | | #6
Добавлено: 08.08.05 15:52
:-) как бы все не так просто...
Действительно, если использовать Jet, то это срабатывает. Это первое, что я попробовал. Но я работаю на старых досовский базах DBF, где такое не прокатывает.
Но вопрос решился по другому... сделал чисто SQL команду на удаление и все стало нич. работать! :-)
Тем не менее... всем огромное спасибо за советы.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам