Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 14:28   #1
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию Запрос на обновление данных таблицы

Добрых суток.
Опять потребовалась ваша помощь. Хотелось бы сделать запрос который
сравнивает поле Cod_izber таблицы Izbir с полем IIN таблицы PreobrData в случае если эти поля равны то данные из столбца DOCUMENT_NUMBER таблицы PreobrData вставляются в столбец Udostve таблицы Izbir.
Для обновления данных я так понимаю нужно сделать что то вроде:
Код:
UPDATE Izbir SET [Udostve] = select DOCUMENT_NUMBER from PreobrData
А вот как условие обновления сделать не знаю.
Не судите строго за "код".
Спасибо.
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 07.03.2011, 19:04   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствйте atenon.
а Вы не пробовали дописать высказанное условие в запрос?
Код:
UPDATE Izbir SET [Udostve] = select DOCUMENT_NUMBER from PreobrData 
where Cod_izber.Izbir = IIN.PreobrData
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 08.03.2011, 09:08   #3
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Попробовал сделать запрос в таком виде
Код:
UPDATE Izbir SET [Udostve] = select  DOCUMENT_NUMBER from PreobrData
where Cod_izber.Izbir = IIN.PreobrData
Выдается "Ошибка синтаксиса в выражении запроса select DOCUMENT_NUMBER from PreobrData"
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 08.03.2011, 09:38   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

перепутаны поле и таблица местами...
а так?
Код:
UPDATE Izbir SET [Udostve] = select top 1 DOCUMENT_NUMBER from PreobrData
where Izbir.Cod_izber = PreobrData.IIN
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.03.2011, 10:13   #5
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Так выдает ту же ошибку "Ошибка синтаксиса в выражении запроса select top 1 DOCUMENT_NUMBER from PreobrData"
Если не сложно подскажите что значит top 1.
Я синтаксис sql совершенно не знаю, может я банально где то не поставил ";" или что нибудь в этом роде?
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол

Последний раз редактировалось atenon; 08.03.2011 в 10:16.
atenon вне форума Ответить с цитированием
Старый 08.03.2011, 11:25   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

сделайте маленькую простенькую тестовую БД (буквально пара таблиц: таблицы Izbir и PreobrData), занесите пяток строчек в каждую таблицу и выложите на форум данную БД в виде архива.
посмотрим, что не так.

p.s. TOP 1 означает, что если запрос из PreobrData вернёт несколько записей, то взять только одну, первую..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.03.2011, 11:48   #7
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Через конструктор запроса смастерил таки что - то (вроде даже правильно работает) взгляните пожалуйста не приведет ли такой код к какимнибудь проблемам?
Код:
UPDATE izbir, PreobrData SET izbir.Date_vidach = [PreobrData]![DOCUMENT_BEGIN_DATE]
WHERE (((izbir.Cod_izber)=[PreobrData]![IIN]));
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 08.03.2011, 12:47   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да нет, всё нормально.
Только не допускайте ситуации, когда будут несколько одинаковых Cod_izber (или PreobrData.IIN ) - будет ошибка при выполнении запроса..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.03.2011, 13:52   #9
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Спасибо за ответы.
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление данных из таблицы через SQL запрос Kity19 БД в Delphi 2 19.01.2011 23:35
Запрос на обновление данных mixmon SQL, базы данных 6 08.12.2010 20:54
Убрать запрос на обновление данных timesoon Microsoft Office Access 2 25.05.2010 12:28
Запрос: обновление поля таблицы, данные из другой Blondy Microsoft Office Access 2 04.04.2010 15:38
запрос на обновление warshadow Microsoft Office Access 13 03.10.2009 16:56