|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Здравствуйте! Требуется составить запрос на обновление, но мозгов не хватает, как это сделать при наличии трех таблиц. Есть форма, данные для которой формируются запросом "зVIPклиенты" из двух таблиц: Код: sql 1. 2. 3. 4. 5. 6.
Есть третья таблица со скидками, столбцы: Код, Min, Max, Скидка. Требуется Скидки из этой таблицы прописать в тVIPклиенты.[Скидка%] в зависимости от тVIPзаказы.Сумма Связал я эту таблицу с предыдущим запросом, вижу, какие скидки должны быть: Код: sql 1. 2.
Но первый запрос ведь с вычислениями, следовательно, данные в нем не редактируются. Попытки создать запрос на обновление провалились, даже запустить не смог. Короче - чем больше над этим вопросом думаю, тем больше непонятного появляется. Что тут можно и нужно сделать? Помогите, пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 13:23 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Насколько я понял никакого запроса на обновление тебе не надо. Есть два варианта. В таблице "Заказы" указывается столбец Скидка: 1) При заполнении записи вносится скидка, как фиксированное число (10,15) откуда и на каких тебе нужно условиях. Вычисления по строкам в дальнейшем по этой таблице. 2) При заполнении записи вносится скидка, как Код из таблицы "Скидка". Вычисления по строкам в дальнейшем по связи таблиц "Заказ" и "Скидка". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 14:43 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magaginНасколько я понял никакого запроса на обновление тебе не надо. Есть два варианта. В таблице "Заказы" указывается столбец Скидка: 1) При заполнении записи вносится скидка, как фиксированное число (10,15) откуда и на каких тебе нужно условиях. Вычисления по строкам в дальнейшем по этой таблице. 2) При заполнении записи вносится скидка, как Код из таблицы "Скидка". Вычисления по строкам в дальнейшем по связи таблиц "Заказ" и "Скидка". Если я правильно понял столбец Скидка переносится в табл. Заказы, и каждый раз при проведении покупки клиентом рядом с новой суммой подставлять новое значение скидки? А как же избыточность записей? Сейчас в базе это так выглядит. Таблица тСкидки без связей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 15:31 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Тяжело понять какой конечный результат ты хочешь получить, но: у тебя два значения скидки 1) По карте - относительно фиксированный. 2) В зависимости от суммы - не фиксированный и принимающий значение после внесения значений в таблицу "Заказы". Оба значения влияют на столбец сумма в таблице "Заказы", и после определенного вычисления на то, кто из них нужнее в конкретной ситуации должны стать, как я понял, столбцом скидка%. Вопрос, почему ты отправляешь столбец скидка% в таблицу "Клиенты"? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 19:38 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Alex37 ты действительно инженер-строитель? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 20:15 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magaginAlex37 ты действительно инженер-строитель? Действительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 20:39 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Я работаю инженером ПТО в электрике. Для работы накидываю программу. Хотелось бы комментарии, если есть свободное время. Отправить получится только на почту, превышает 150. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 20:54 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magaginТяжело понять какой конечный результат ты хочешь получить, но: у тебя два значения скидки 1) По карте - относительно фиксированный. 2) В зависимости от суммы - не фиксированный и принимающий значение после внесения значений в таблицу "Заказы". Оба значения влияют на столбец сумма в таблице "Заказы", и после определенного вычисления на то, кто из них нужнее в конкретной ситуации должны стать, как я понял, столбцом скидка%. Вопрос, почему ты отправляешь столбец скидка% в таблицу "Клиенты"? Скидка только одна. Она фиксированная, зависит от общей суммы, которую клиент потратил ранее на покупки. А карта - это для понтов, красивая безделушка, но именная. Владелец имеет право получить повышенную скидку. Таблица ведь так и называется: "тVIPклиенты". База работает с 2007 года, процент скидки забивался вручную, в соответствии с суммой потраченной клиентом (да, таблица скидок распечатана в Ворде. Содержимое таблицы скидок иногда меняется - кризисы, сезон/не сезон...) :) Столбец "Скидка%" всегда был таблице "Клиенты". Это как часть информации о клиенте вместе с телефонами и адресом. Хочется немного автоматизировать процесс внесения величин этих скидок в таблицу тVIPклиенты нажатием кнопки. Я бы в VBA попробовал это сделать, но именно в Accessе, со всякими рекордсетами, я не очень - знаний не хватает. В Exсel-е я чувствую себя намного увереннее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:08 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magaginЯ работаю инженером ПТО в электрике. Для работы накидываю программу. Хотелось бы комментарии, если есть свободное время. Отправить получится только на почту, превышает 150. Пиши сюда: Alex37temp@yandex.ru Прошу прощения у участников форума за то, что занимаюсь личной перепиской. Но "лички" на форуме вроде как нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:25 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Фиксировано для меня, это когда проставлено 5, 10 и т.д. %. У тебя скидка зависит от условия. Не видно, где скидка влияет на сумму. У тебя таблицы составлены неправильно. По идее надо из таблицы "Клиенты" убрать все, что касается карты и перенести в новую таблицу "Карты" с добавлением столбца Код_клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:37 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
А у тебя какая версия акцес? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:39 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magaginФиксировано для меня, это когда проставлено 5, 10 и т.д. %. У тебя скидка зависит от условия. Не видно, где скидка влияет на сумму. У тебя таблицы составлены неправильно. По идее надо из таблицы "Клиенты" убрать все, что касается карты и перенести в новую таблицу "Карты" с добавлением столбца Код_клиента. Величина скидки в базе записана как информация. Её величина используется в другой, специализированной программе, не имеющей к самой базе никакого отношения. В данном случае, эта часть базы (информация по VIP-клиентам) носит чисто информационный характер. Максимум - это подсчет всех платежей по каждому клиенту и всего по списку, печать некоторых отчетов. Перенести в другую таблицу можно, но не нужно. Избыточность данных это не несет, т.к. номера карт (как и ID таблиц) не повторяются. Работаю с Access 2003. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:56 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 22:39 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
__Michelle Код: sql 1. 2. 3.
Запустился, стандартно предупредил, что запрос на обновление приведет к изменению данных в таблице. Нажал ОК. Второе сообщение проинформировало, что в операции должен использоваться обновляемый запрос. Никаких действий в таблице произведено не было. Может надо создавать временную таблицу с вычисленной суммой (SELECT Sum(Сумма) FROM тVIPзаказы WHERE КодЗаказа=тVIPклиенты.Код) BETWEEN Min AND Max) и брать данные из неё? Потом удалить... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 23:16 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
А так? Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 23:57 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Может мой способ покажется диким, но делал так. 1) Делать дубликат таблицы например "Клиенты_1" со всеми столбцами. 2) Запрос_1 по связи таблиц "Заказы" и "Скидки", где каждому коду заказа будет соответствовать скидка в зависимости от суммы. 3) Запрос на добавление в таблицу "Клиент_1" данных из: "Клиенты"-"Запрос_1", по связи Код к Код заказа, где скидка не равно скидка%. 4) Запрос на удаление из таблицы "Клиенты" по связи с таблицей "Клиенты_1" через Код. 5) Запрос на добавление в таблицу "Клиенты" из таблицы "Клиенты_1". 6) Запрос на удаление из таблицы "Клиенты_1". В VBA осуществлял операции только с 3-ей позиции. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 23:58 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
__MichelleА так? Код: sql 1. 2. 3.
Аналогично. ...в операции должен использоваться обновляемый запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 00:17 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
Alex37, Вашу задачу можно решить как-то так (+ продумать ситуацию когда цены и скидки будут меняться со временем-добавится пара таблиц) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 00:33 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
nikolay_magagin, Как-то много у тебя телодвижений... Я по другому пытаюсь делать. Но постоянно приходится искать, как делается то или иное действие, подгонять под свои реалии. Медленно дело идет ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 00:37 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
sdkuAlex37, Вашу задачу можно решить как-то так (+ продумать ситуацию когда цены и скидки будут меняться со временем-добавится пара таблиц) Спасибо. Сейчас посмотрю ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 00:39 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
sdkuAlex37, Вашу задачу можно решить как-то так (+ продумать ситуацию когда цены и скидки будут меняться со временем-добавится пара таблиц) Более понятное для меня решение - все вычисления в формах на VBA У меня и форма почти такая же - можно легко код адаптировать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 00:56 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
А так? Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 07:06 |
|
Запрос на обновление таблицы
|
|||
---|---|---|---|
#18+
__MichelleА так? Код: sql 1. 2. 3. 4.
Я восхищен глубиной Вашей мысли! Данная версия запроса сработала на отлично. Огромное спасибо за помощь!!! Вы уже не раз помогали мне в составлении "хитрых" запросов. Запускать планирую через CurrentDb.Execute, дабы избежать лишних вопросов программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 11:12 |
|
|
start [/forum/topic.php?fid=45&msg=39479990&tid=1612300]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 443ms |
0 / 0 |