|
|
|
| Как написать формулу или создать запрос, который бы вписывал в поле формы число?
Мне нужно, чтобы в форме карточки клиента поле скидка считалось само. То есть по умолчанию оно "0", но чтобы еще запрашивал из таблицы1, на какую сумму уже закупил клиент за весь период по сегодняшний день. У меня есть запрос, где выводится список клиентов без повторений, в котором есть еще и накопленная сумма. Может как-то с ним связать? | |
|
| |
|
|
|
| Help по Dlookup
=nz(dlookup("[Сумма]";"[ИмяЗапроса]";"[КодКлиента]=" & [КодКлиента];0) | |
|
| |
|
|
|
| но дело в том, что мне нужно, чтобы было так:
если эта сумма из запроса <=1000 то поле=0
если эта сумма из запроса >1000 и <=5000 то поле=5
если эта сумма из запроса >5000 то поле=10 | |
|
| |
|
|
|
| анализируйте полученое Dlookup число и ставьте в поле сколько нужно | |
|
| |
|
|
|
| точно :)
MySum = nz(dlookup("[Сумма]", "[ИмяЗапроса]", "[КодКлиента]=" & [КодКлиента]), -1)
Select Case MySum
Case Is <= 1000: txt_Sum = 0
Case 1000 To 5000: txt_Sum = 5
Case Is > 5000: txt_Sum = 10
End Select
|
| |
|
| |
|
|
|
| Куда мне это писать? В модуль, а потом в поле сдулать ссылку на этот модуль? | |
|
| |
|
|
|
| в модуль попробуйте, на загрузку формы | |
|
| |
|
|
|
| А ковычки обязательны и запятая? там случайно не точки ставятся? | |
|
| |
|
|
|
| кавычки, запятая, точка... где там? Вы что-то рисуете? | |
|
| |
|
|
|
| Ошибка выходит:
Compile error:
Expected: expression | |
|
| |
|
|
|
| из-за этой строки ошибка:
MySum = Nz(DLookup("[Itog3]", "[Отчет Мониторинг]", "[SurnameNamePatronymicClient]=" & [SurnameNamePatronymicClient]), -1) | |
|
| |
|
|
|
| извиняюсь, такая ошибка:
Invalid outside procedure на Itog | |
|
| |
|
|
|
| Я в том, что Вы мне написали, исправила кроме выше упомянутой строки еще и txt_Sum на имя своего поля форме. Так? | |
|
| |
|
|
|
|
Я в том, что Вы мне написали, исправила кроме выше упомянутой строки еще и txt_Sum на имя своего поля форме. Так?
|
Так
А Вам не трудно сюда пример выложить?
Вам так быстрее ответят | |
|
| |
|
|
|
| если SurnameNamePatronymicClient - тектовое то
MySum = Nz(DLookup("[Itog3]", "[Отчет Мониторинг]", "[SurnameNamePatronymicClient]='" & [SurnameNamePatronymicClient] & "'"), -1)
|
| |
|
| |
|
|
|
| оо, точно :)
на SurnameNamePatronymicClient не обратил внимания | |
|
| |
|
|
|
| даже когда я это исправила, все-равно ругается Itog также.
Вот моя база. Посмотрите пожалуйста.
Тут на сайте максимальный размер отправляемых файлов какой? у меня она не крепится | |
|
| |
|
|
|
| максимум 50 кг.
Когда нибуть поправлю форму отправки... ну Slil.ru закиньте | |
|
| |
|
|
|
| Вот мой файл! Ужас просто с этими архивами!!!!
На других сайтах максимальный размер 100Кб! | |
|
| |
|
|
|
| Про другие сайты не знаю... считаю 50 вполне достаточно, а место под сайт не резиновое | |
|
| |
|
|
|
| Файл здесь
http://slil.ru/24125842 | |
|
| |
|
|
|
| Вопрос: в какое поле должна выводиться сумма?
MySum = Nz(DLookup("[Itog3]", "[Отчет Мониторинг]", "[SurnameNamePatronymicClient]='" & [SurnameNamePatronymicClient] & "'"), -1)
Select Case MySum
Case Is <= 1000: txt_Sum = 0
Case 1000 To 5000: txt_Sum = 5
Case Is > 5000: txt_Sum = 10
End Select
|
Это все должно быть внути функции или процедуры, а не просто модуле | |
|
| |
|
|
|
| должно вывыодиться в поле формы "Данные о клиентах" - поле "Размер скидки, %" | |
|
| |
|
|
|
| http://slil.ru/24126091
только я не стал обновлять ваше поле "Размер скидки, %" т.к. оно привязано к полю таблицы и это изменит данные в таблице, (не думаю что это правильно)
я создал свое поле discount и данные вывел в него | |
|
| |
|
|
|
| а что разве эти данные не могут заноситься в эту таблицу? | |
|
| |
|
|
|
| почему не могут, могут...
только на мой взгляд вычислять их надо не в момент просмотра информации о клиенте, а... ну хотя бы в момент заключения договора.
иначе получится так, если Вы открыли информацию о клиенте - данные в таблице обновились (а если пользователь нажмет "Esc", то могут и не обновиться) А если Вы не открыли форму просмотра информации для этого клиента, то данные о скидке не обновятся.
Хотя я предпочитаю НЕ хранить в таблицах данные которые могу посчитать в любой момент и которые могут меняться с течением времени. А рассчитаывать их непосредственно в момент когда эти данные понадобились (как ваша скидка).
Иначе всегда существует вероятность, что данные будут не актуальны...
И оступаю от этого правила только тогда когда расчет слишком долгий или есть веские причины эти расчитанные данные сохранить.
А в вашем случае я бы скидку сохранил бы в договоре... или что там у вас с клиентом заключается | |
|
| |
|
|
|
| скачанный файл не открывается
Either multipart or corrupt ZIP archive | |
|
| |
|
|
|
| А так?
http://slil.ru/24126162
RAR размером 142кг | |
|
| |
|
|
|
| Тут нет договоров - заключением сделки является квитанция, которая выходит из тех данных.
Сначала приходит клиент и я открываю "Данные о клиенте", чтобы проверить есть ли такой клиент в базе. Если есть, то можно сделать макрос на просмотр или изменение этой формы и данные будут обновляться. Или если его нет, то мы все-равно открываем эту форму и заносим новые данные и тогда там все-равно будет стоять "0", так как эта прога (Ваша) не нашла Itog3 в таблице. | |
|
| |
|
|
|
|
| СПАСИБО ВАМ ОГРОМНОЕ! А как Вы так размер уменьшили? сжатие какое-нибудь сделали? | |
|
| |
|
|
|
| Сервис - служебные программы - Сжать и восстановить | |
|
| |