powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подстановка цен из справочника...
25 сообщений из 30, страница 1 из 2
Подстановка цен из справочника...
    #32205864
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет народ!
Есть одна проблема. Дело вот в чем. Есть таблица: Контрагент, Товар, Завод, Цена. Поля таблицы говорят сами за себя. ;-) Это и есть справояник цен на товары. Для некоторых контрагентов цена отличается от той цены, что есть в прайс-листе, т.е. у них может быть скидка. В этом справочнике все это отражено. И есть несколько записей, где поле контрагент Null, т.е. это и есть официальный прайс-лист. Это цена для всех остальных заказчиков, у которых нет ни скидок и нет договоренностей с руководством.
Задача и основная проблема состоит в том, что необходимо корректно подставлять цены из справочника в форму для ввода накладных. Т.е. если у контрагента определена цена по данному товару и данному производству, должна подставляться именно она. Если ее нет в справочнике, то берется цена из той же таблицы, но только поле контрагент пустое, а товар и завод тот же.вот как собственно это реализовать???
Пока у меня сделана только подстановка цены, если есть какие-то договоренности. Сделан запрос, и на этот запрос повешана форма, т.е. при вводе накладной, вводится контрагент, товар, завод и как только фокус получает поле "Цена" идет макрос, который открывает вот ту самую форму, основанную на запросе и подставляет цену. Но если такого контрагента там нет, то возвращается ошибка и цену надо вводить вручную, что не удобно и не правильно. В этом случае должна подставляться цена из прайс-листа, где контрагент Null.
Если кто чего понял, то объясните, плиз, убогому. :)
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205879
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я ничего не понял, но предлагаю так:

where контрагент=заданный or контрагент is null
order by контрагент desc

и брать значение из первой записи. Если есть запись с контрагентом (знать бы, что это такое...), то первой будет она, а если нет, то с null'ом.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205890
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ну что ты как маленький?
Контрагент - это же Нео. Он борется с агентами.

2 TRoUbLEs
Я тоже не понял проблемы. Ты же все описал по русски как надо сделать. Вот теперь переведи это на английский и подкорректируй синтаксис, чтобы оно в ограничения VBA и SQL влезло.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205898
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Лох, я шутку оценил, но я не знаю, кто такой Нео. Догадываюсь, что это какой-то персонаж из того, что идет по российскому телевидению, которое в Израиле ловится только частично. А на самом деле?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205908
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже ничего не понял.
2 В.С
Нео- это из Матрицы
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205910
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И агенты - оттуда же.
Неужели до Израиля даже первая Матрица еще не добралась? Или ее не признали кошерной?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205917
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя тогда откуда VIG знает?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205921
realist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так сделай в справочнике Контагенты поле Скидка, допустим числовое. При вводе в справочник нового Контагента Скидеке присвой значение 0 (это будет значить, при обработке в программе, что цена берётся из прайса). Как только этот клиент заслужит скидки, присвоишь полю Скидка значение допустим1, если хорошая скидка то 2, и т.д. И потом обрабатывай. В зависимости от значения в поле Скидка подставляй скидку?
Я понял чего ты хочешь?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205928
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ага. Нет, про Матрицу слышал. Мне про нее сосед по комнате (он работает на .NET, а не на Аксессе, поэтому в форум не ходит) прожужжал значительную часть ушей, и я на нее (не на часть ушей, а на Матрицу), наверно, когда-нибудь схожу.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205982
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется ,что нам уже пора сюда
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32205990
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Человеку три раза сказали что не поняли вопроса, один раз спросили правильно ли поняли, и в ответ - тишина.
Если ему ответ не нужен - ну тогда мы тут потреплемся чуток. В ожидании ответа. Если он будет. А если не будет - ну что ж делать... Значит и не особенно нужно.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206004
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А может, вот сюда? Я основал уголок для курения - если кто хочет, то добро пожаловать.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206175
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, ребята, ВИГ прав, флуду вы развели - будьте-нате. Жаль. :((
Ладно, конкретный пример.
<pre>
------------------------------------------------
Пупков Ботинок Завод1 100р
Сидоров Ботинок Завод1 110р
Сидоров Ботинок Завод2 109р
Иванов Сапог Завод2 130р
Ботинок Завод 1 105р.
Ботинок Завод 2 115р.
Сапог Завод 1 1085р.
Сапог Завод 2 100р.
-------------------------------------------------
</pre>
Это и есть спарочник цен.
вот теперь вопрос. Если я ввожу, Сидоров, Ботинок, Завод1, то запрос вытаскивает цену 110р. Если же я ввожу Петров, Ботинок, Завод1, то запрос выдает ошибку, а надо, чтобы он вытаскивал цену 105р. Как это сделать?
То Саныч:
Я не умею перебирать записи. :((( Как это сделать програмно, если не сложно напиши.
То Лох:
Я конечно понимаю, что ник и статус обязывают, но не до такой же степени. То что не отвечал, простите, работа у меня такая. :(
То Реалист:
Спасибо, но такое решение проблемы не устраивает, т.к. слишком много данных. Скидка идет не в одних и тех же процентах, а по каждому контрагенту своя, причем не обязательно скидка (на иные объекты цена может быть и больше прайса). Поэтому интересует именно такое решение, про которое я сказал выше.
Заранее спасибо.
З.Ы.
Если будет желание пофлудить, давайте я создам еще один топик специально для вас, ок?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206184
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой запрос у тебя ошибку-то выдает?
Текст запроса в студию.

Откуда она вообще взялась?
Рекордсет может просто не вернуть ни одной записи. Ну и хорошо. Лови этот случай и запускай другой запрос. Который будет вытаскивать цену для выбранного ботинка и завода, но без фамилии.
Ровно как ты и написал. По русски. Еще раз говорю - возьми англо-русский словарь, переведи все что ты сказал в описании задачи на английский, и подгони под SQL и VBA.
Можно конечно и одним запросом сделать, но меня ник обязывает сделать все через жопу.

З.Ы. Если будет желание пофлудить - мы и тут справимся
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206196
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так уже на много лучше
"select [Цена] from mytable " & _
"where [Товар]='" & strMerchandise & "'" & _
"and [Завод]='" & strPlant & "'" & _
"and [Контрагент]=" & iif (strSupplier ='',NULL,"'" & strSupplier & "'")
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206197
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не надо перебирать записи. Тот селект, хвост которого я привел, в ответ на

Код: plaintext
Сидоров Ботинок Завод1

выдаст две записи:

Код: plaintext
1.
Сидоров Ботинок Завод1 110р
null Ботинок Завод  1  105р

и значение, взятое из первой, будет 110р. А в ответ на

Код: plaintext
Петров Ботинок Завод1

он выдаст одну запись:

Код: plaintext
null Ботинок Завод  1  105р

и значение, взятое из первой (= единственной), будет 105р. Получается, что я правильно понял постановку задачи.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206201
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Саныч, ты б еще догадался сделать TOP 1 - цены б тебе не было.
Или тебя ник тоже обязывает все через жопу делать?

2 VIG
Твой вариант не катит. Он у тебя если strSupplier=Null (прости господи) - то отбирает запись с пустым поставщиком, а нужно чтобы это происходило только если для непустого strSupplier отсутствовует запись
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206203
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Лох:

Твоя жопа совершенно права. Действительно, TOP 1. :^)

P.S. Во всем этом топике следует заменить все вхождения слова жопа на #$%&.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206205
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кстати, это не ник, а настоящее имя-отчество. Если я тебе свой ник покажу, то тебе еще смешнее станет.
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206213
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делаю проще

при выписке документа , стоя на товаре раскрываю формочку а там последние 10 покупок этого товара этим клиентом дата - цена.
если список пуст этот товар этот клиент не покупал. хочет скидку или еще чего пусть отправляется к начальнику. (правда у нас на каждый товар с конктреным клиентом свои отношения) хотя можно к клиетну привязать поле где будет указана персональная скидка на все и при выписке дока оператор принимает решенье
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206231
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Твой вариант не катит
Но я же сразу сказал ,что не понял
сделать TOP 1
В принципе красиво,но что делать ,если будет более одной записи с null
Код: plaintext
1.
2.
Сидоров Ботинок Завод1 110р
null Ботинок Завод  1  105р
null Ботинок Завод  1  115р

Правда это уже проблема автора
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206248
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Но я же сразу сказал ,что не понял

Я тоже сказал, что не понял. :^)
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206273
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По хорошему я бы сделал общий справочник ботинков (с ценами), и плюс ценовые соглашения на некоторых клиентов на некоторые товары.
Тогда бы все решалось простым Left Join' ом и функцией Nz
Но, как сказал вери импотент гест, это " это уже проблема автора " (которому кажись на усе пофик)
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206378
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То <b>Лох Позорный:</b>
1) Мне не "пофигу" как ты сказал, просто не могу тусоваться на форуме полдня. :((
2) Ты совершенно правильно понял что я хочу сделать. Я действительно несколько неправильно выразился. Ошибка не выдается, а просто не вытягивается ни одной записи. :( Соответственно, когда я в формы пытаюсь подставить это самое "ничего" в поле появляется запись "#Ошибка".
3) > "Рекордсет может просто не вернуть ни одной записи. Ну и хорошо. Лови этот случай и запускай другой запрос."
<b>Как это сделать???</b> Я не умею. :( Именно это я и пытаюсь сделать, но вот знаний пока не хватает.
> "Можно конечно и одним запросом сделать, но меня ник обязывает сделать все через жопу."
Вот это намного предпочтительней. Может попробоем все сделать не через @#$% а по-человечески?
4) > "По хорошему я бы сделал общий справочник ботинков (с ценами), и плюс ценовые соглашения на некоторых клиентов на некоторые товары.
Тогда бы все решалось простым Left Join' ом и функцией Nz "
Вот тут я тебя чуть-чуть не понял. :( Т.е. делаем справочник цен на товары с заводов, а потом для отдельных клиентов делаем еще один справочник по ценам, которые установлены в допах с этими клиентами???
То <b>Владимир Саныч</b>
Все здорово, действительно можно вытащить две записи (если есть).
Сидоров Ботинок Завод1 110р
null Ботинок Завод1 105р
Но где гарантия, что первой будет именно не пустое поле? Если только задать сортировку по убыванию и тянуть, как и сказал Лох, TOP1
To <b>VIG</b>
> "В принципе красиво,но что делать ,если будет более одной записи с null.
Правда это уже проблема автора"
Если такая запись появляется, то все не будет работать, поэтому при заненсении новой цены в справочник, сначала выполняется праверка, а нет ли уже такой записи в справочнике (изначально думал сделать 3 ключевых поля, Контрагент, Товар, Завод, но в ключеванном поле не может быть Null, поэтому пришлось делать через ..... ну вы поняли ) и если такая запись уже имеется, то предлагается изменить ее, либо идти на фиг. Поэтому тот вариант что ты описал исключен (как мне кажется).
<br><br>
Текст запроса (по просьбам трудящихся):
-------------------------
SELECT Цена_реализация.Контрагент, Цена_реализация.Товар, Цена_реализация.Подразделение, Цена_реализация.Цена
FROM Цена_реализация
WHERE (((Цена_реализация.Контрагент)=[Forms]![Последовательно_реализация]![Контрагент] Or (Цена_реализация.Контрагент) Is Null) AND ((Цена_реализация.Товар)=[Forms]![Последовательно_реализация]![Товар]) AND ((Цена_реализация.Подразделение)=[Forms]![Последовательно_реализация]![Подразделение] Or (Цена_реализация.Подразделение) Is Null))
ORDER BY Цена_реализация.Контрагент DESC;
--------------------------
Запрос уже изменил, как и сказал Владимир Саныч. Теперь вроде все нормально выдергивается и кажись даже можено работать. :)) Но хотелось бы до конца в этом разобраться.
P.S.
Народ, а как теги вставлять нормально?
...
Рейтинг: 0 / 0
Подстановка цен из справочника...
    #32206384
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Но где гарантия, что первой будет именно не пустое поле? Если только задать сортировку по убыванию и тянуть, как и сказал Лох, TOP1

А я как раз и предложил сортировку по убыванию - см. мой пост от вчера, 15:57. Читать надо внимательнее. :^)

Что касается TOP 1, то это важно только в смысле количества данных, пересылаемых с сервера, а так и без этого все будет работать.

> Народ, а как теги вставлять нормально?

Над окошечком для написания поста есть кнопки, которые вставляют правильные теги.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подстановка цен из справочника...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]