Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос на обновление 
V
    Опции темы
alexIrish
Дата 14.5.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.1.2006
Где: Ireland, Dublin

Репутация: нет
Всего: нет



Здравсвуйте.
Вот такой вопрос:
Есть таблица [WHS Capacity Used] с 4 полями:
WHS ID, WHS, Location Prefix, Used locations

Запрос1 выводит колво занятых позиций по префиксу:
Код

SELECT Count([DistinctUsed Storage Bins].Storbin) AS Used, Left(Storbin,2) AS Prefix
FROM [DistinctUsed Storage Bins]
WHERE ((([DistinctUsed Storage Bins].Storbin) Like "tut uslovie otbora"
GROUP BY Left(Storbin,2);


Запроs 2 должен обновлять записи v таблице по совпадающим префиksам:
Код

UPDATE [WHS Capacity Used] 
INNER JOIN [Count Locations] 
   ON [WHS Capacity Used].[Location Prefix]= [Count Locations].Prefix 
SET [WHS Capacity Used].[Used locations] = [Count Locations].Used;

А он не работает. Пишет: Operation must use updateable query
А где ошибочка?


PM MAIL   Вверх
Akina
Дата 14.5.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Правильно пишет. Полученный конгломерат из связанных таблиц не обеспечивает однозначности операции.

Замените связывание на отбор.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
alexIrish
Дата 15.5.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.1.2006
Где: Ireland, Dublin

Репутация: нет
Всего: нет



Ne получается!
примерчик бы для такого случая:
Есть таблица [WHS Capacity Used] с 4 полями:
WHS ID, WHS, Location Prefix, Used locations
и запрос с двумя полями Location Prefix, Used locations
Nужен запрос нa обновление таблицы данными иz запроса по совпадающим префиксам.

Спасибо.
PM MAIL   Вверх
Akina
Дата 15.5.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Код

UPDATE [WHS Capacity Used], [Count Locations] 
SET [WHS Capacity Used].[Used locations] = [Count Locations]![Used locations]
WHERE [WHS Capacity Used].[Location Prefix]=[Count Locations]![Location Prefix]





Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  1.gif 11,11 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
alexIrish
Дата 15.5.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.1.2006
Где: Ireland, Dublin

Репутация: нет
Всего: нет



А я так пробовал у меня нe получилось.
Вот фрагмент БД, посмотрите чего там нe так.
Там в [WHS Capacity Used]  есть пару префиксоv которые повторяются.
Я пробовал по одному префиксу менять, добавляя [Business Owner] v WHERE and for nothing.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  test.zip 11,85 Kb
PM MAIL   Вверх
Akina
Дата 15.5.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(alexIrish @  15.5.2007,  15:28 Найти цитируемый пост)
Вот фрагмент БД, посмотрите чего там нe так.

Составной индекс тебе все портит. 

В аттаче - решение (одно из массы возможных, конечно). Все сделано исключительно мастерами - чтобы можно было понять как именно. Нужную функцию выполняет макрос. Запросы трогать-открывать не требуется - они выполняют скрыто-вспомогательную роль, хотя и проделывают всю работу.

Для понимания сути все-таки запустите запрос Count Locations. Он создаст временную таблицу, которую использует второй запрос, и только тогда можно будет смотреть конструктор второго запроса. Без этого попытка просмотреть конструктор обновляющего запроса только приведет к ругани. А в процессе обновления ненужная временная таблица, есссно, удаляется, ибо потом не нужна. Впрочем, можно ее и оставить...

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  test.zip 12,26 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
alexIrish
Дата 16.5.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.1.2006
Где: Ireland, Dublin

Репутация: нет
Всего: нет



Спасибо.
Сделал. Но смущает колво запросов.
Можеt ето можно как-нибудь упростить?

Но v принципe и так можно оставить.

С вами приятно работать  smile  



Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  test.zip 32,12 Kb
PM MAIL   Вверх
Akina
Дата 16.5.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(alexIrish @  16.5.2007,  14:20 Найти цитируемый пост)
смущает колво запросов.
Можеt ето можно как-нибудь упростить?

Сделай их скрытыми.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.1013 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.