|
coma
|
|
Подстановка значений27.07.2006, 20:16. Показов 3285. Ответов 18
Метки нет (Все метки)
Имеется таблица с данными о клиентах и такаяже но о партнерах. А так же имеется таблица "Закупки", где оторбражаются все покупки и услуги предоставленные партнерами клиентам.
Задача такая: В таблице Клиенты есть поля "Важность" , а для Партнеров- "Активность". Требуется сделать так, что бы данные поля заполнялись автоматически. Важность: при достижении определенного уровня закупок должна меняться. К премеру: до 10-обычный, 10-20 важный, более 20 - очень важный Активность: определяется датой последней продажи. К премеру: продажи есть за последние пол года-"активный", продаж за пол года нет, но есть за год-"пассивный", продаж нету более года-"недействующий" |
|
| 27.07.2006, 20:16 | |
|
Ответы с готовыми решениями:
18
Подстановка значений Подстановка значений Подстановка значений в поля |
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 27.07.2006, 20:41 | |
|
Если требуется, то и делайте.
0
|
|
|
coma
|
|
| 27.07.2006, 20:45 | |
|
Зачем сразу так грубо.
Я просто совета попросил, а Вы так вот пишите. Если вы не хотети подсказать или не знаете как, то это ведь не повод грубить. Может кто то другой напишет/подскажет. Спасибо. |
|
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 27.07.2006, 20:52 | |
|
Совет или помощь просят немного в другой форме, а не в плуприказном порядке.
0
|
|
|
coma
|
|
| 27.07.2006, 21:03 | |
|
Я просто забыл в конце поста написать фразу "Если можете, помогите пожайлусто". А сразу и не заметил что не написал
А требования...это для меня, те требования, которые мне поставили. Извиняюсь за данный конфуз. Простите. Пойму если сейчас ни чего не напишете, но я благодарен за помощь, которуб Вы мне неоднократно оказывали, как неопытному пользователю. Спасибо большое. |
|
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 27.07.2006, 22:37 | |
|
Bce, проехали.
А, что такое уровень закупок?
0
|
|
|
coma
|
|
| 28.07.2006, 00:09 | |
|
В таблице закупки есть поле кол-во и сумма, где указывается кол-во купленных лицензий и общая сумма.
Уровень закупок,это суммарное кол-ве купленных лицензий клиентом за все время сотрудничества. |
|
|
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
|
|
| 28.07.2006, 13:16 | |
|
Вы, к сожалению, только изложили суть дела, но не изложили предметно задачу и, собственно, саму проблему: не знаете с чего начать, не получается что-то конкретное и т. д....
Могу понять задачу так: при внесении изменений в таблицу "Закупки" (редактирование записей, их добавление или удаление) необходимо для соответствующего Клиента и/или Партнера в соответствующих таблицах изменять содержимое полей "Важность" и "Активность". Решить эту задачу можно либо на Бейсике, либо запросами на обновление по описанным Вами правилам. Так?
0
|
|
|
coma
|
|
| 28.07.2006, 14:03 | |
|
Вы совершенно правы.
Вы не могли бы уточнить как это сделать запросами? И возможно ли, что бы изначально так же заполнилось все с помощью запроса?(в данный момент эти поля пусты) Меня просто попросили сделать это все, т.к. в отделе нужна база, а делать некому, а я ни когда ранее не работал в access и приходится все осваивать на ходу. |
|
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 28.07.2006, 14:28 | |
|
Есть два метода решения Вашей проблемы:
1. Вы должны отследить все места возможного изменения в таблицах Клиенты и Партнеры тех полей (влияющие поля), которые влияют на значения полей "Важность" и "Активность" (зависимые поля), и при изменении поля влиния перевычислить соответствующее зависимое поле. В форме, в которой вносим информацию о закупках таких мест два: процедура Form_AfterUpdate и Form_AfterDelConfirm. Еще нужно учесть, что "Активность" зависит от текущей даты (сегодня партнер активный, а завтра может стать пассивным). Поэтому действия по обновлению полей следует выполнить и при открытии базы. Например, в процедуре Form_Load главной формы (та, с которой начинается работа). Если же у Вас работают с базой и ночью, то нужно отследить полночь (переход на следующий день). Недостаток, невозможно отловить изменения, которые производятся не через формы, а непосредственно в таблицах 2. Отказываемся от полей "Важность" и "Активность" и каждый раз, когда нам нужны значения важности или активности, вычисляем их (обычно это делается непосредственно в запросе). Указанный в пункте 1 недостаток исчезает, но появляется новый. При увеличении количества записей таблицы "Закупки", естественно, возрастает время вычислений. Так, что решение за Вами, а затем поговорим о следующем этапе.
0
|
|
|
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
|
|
| 28.07.2006, 19:25 | |
|
Действительно, а для чего Вам нужны поля "Активность" и "Важность"? Если они должны отображаться для кадого Клиента и/или Партнёра прямо в форме, через которую Вы работаете с таблицей "Закупки", то понятно. Но если эти поля используются в каких-то изредка печатаемых отчётах, то от обновления этих полей можно отказаться, а вычислять их только при работе с отчётом...
0
|
|
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 28.07.2006, 19:48 | |
|
Да даже и при работе с формой "Закупки", поместив вычисление важности и активности в запросы, являющиеся источником строк ComboBox-ов для Клиента и Партнера, можно отобразить эти параметры (для справки) в списке. А при обновлении или удалении записей формы достаточно сделать Requery для ComboBox-ов.
0
|
|
|
coma
|
||
| 28.07.2006, 20:24 | ||
Я для наглядности решил прекрепить данную базу. В ней сейчас отсутствуют соответсвуюющие "окошки" в формах. Спасибо, за то что уделяете мне время. |
||
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
|
| 28.07.2006, 21:04 | |
|
А в каких формах должны фигурировать обсуждаемые поля? Если в "кленты" и "партнеры", то их там можно организовать вообще не в запросе, а сделать источником данных каждого из полей функцию по вычислению значений важности или активности.
0
|
|
|
coma
|
|
| 28.07.2006, 21:45 | |
|
Совершенно верно: поле "важность" в форме "клиенты", поле "активность"-"партнеры".
|
|
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
||||||
| 28.07.2006, 22:44 | ||||||
|
Эти две функции поместите в стандартный модуль базы.
Аналогично, в форме "партнеры" создайте текстовое поле , например, Activnost и в качестве его данных пропишите (без кавычек) "=FAct([код партнера])". Для элемента управления "подтаблица-работа партнеров с каждым из клиентов" (сейчас он имеет у Вас имя Форма1) в обработчике события "Выход" пропишите [Activnost].Requery. Т.е. каждый раз при выходе из подчиненых форм, поля которых влияют на параметры важности и активности, будет выполняться пересчет параметров. Если что не так, то извиняйте. Буду только через месяц, но я думаю, что без помощи Вас народ не оставит.
0
|
||||||
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
||||||
| 29.07.2006, 16:03 | ||||||
|
Вчера в спешке напорол ерунды. Извиняюсь и исправляюсь.
Вместо [Vagnost].Requery, [Activnost].Requery пожалуй лучше для быстродействия в обоих случаях проставить Me.Recalc.
0
|
||||||
|
7 / 7 / 1
Регистрация: 06.12.2006
Сообщений: 329
|
||||||
| 29.07.2006, 16:21 | ||||||
|
Да, оказывается некорректно передается информация. Поэтому заменяю знаки отношений на их наименования, обрамлены знаком #.
0
|
||||||
|
coma
|
|
| 31.07.2006, 15:22 | |
|
Спасибо большое, все работает.
Только вот хотел узнать: когда я заношу данный в ворме в подчиненную форсу "закупки" и потом ставлю курор в одно из окошек формы, то мне выдается сообщении о том, что не существует макроса Vagnost (при действии в форме "клиенты") и Activnost (в форме - "партнеры"). Не подскажете, как это исправить? |
|
| 31.07.2006, 15:22 | |
|
Помогаю со студенческими работами здесь
19
Подстановка нулевых значений ? Подстановка значений с условием Автоматическая подстановка значений
Подстановка значений в поля формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|