• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Умножние Значения Из Combobox

  • Автор темы chz
  • Дата начала
C

chz

Здравствуйте!
Помогите пожалуйста с решением задачи.

В лотусе есть база в которой есть страница на которой происходит выбор критерия и оценки для него (куча числовых комбобоксов на выбор от 1 до 5 - оценки)

Задача следущая: нужно что бы после выбора этих оценок, и сохранения документа, при определенном критерии - все значения оценок увеличивались на определенный индекс, например умножались на 20.

В идеале хотелось бы, что бы при выборе определенного критерия и сохранения все происходило автоматически, но я слишком не компетентен..)

Есть еще один вариант, как мне кажется более простой - добавить на страницу оценки критерия кнопку с умножением на этот самый индекс, и при нажатии все оценки умножать, но и на этот вариант меня не хватает)

Помогите пожалуйста.)
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Какая то странная схема)
Если нужны некоторые итоги (вопрос где они выводятся?) почему там где они нужны и не умножать?
Как вариант можно делать это при сохранении документ (после страницы получем же документ?)

А вообще опишите полностью проблему/задачу.
На первый взгляд абсолютно обычная задача, и непонятно что Вам мешает это реализовать.
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
67
Т.е., Вы хотите присаоить комбобоксу значение, которого изначально не было в списке?
Тут все зависит от свойоств комбобокса - разрешены ли значения не из списка, используются ли синонимы...
 
C

chz

Вы правы, моя вина, я должен был конкретнее все описать..

Есть база "Оценки отделов", пользователь который выставляет эти оценки - заходит в базу, нажимает кнопку "Создать оценочный лист", появляется форма "Лист оценки" где пользователь выбирает отдел и критерий по которому хочет его оценить. Выбрал отдел,критерий - поставил оценку (например от 1 до 5), нажал сохранить. В итоге, эта оценка должна быть умножена на 20. Впринципи, не важно на каком этапе это будет реализованно...

Все эти оценки потом видны на отдельном Viewe оценок...

Сам я не могу сделать, так как я очень плохой программист...
 
A

alexas

(куча числовых комбобоксов на выбор от 1 до 5 - оценки) .....
Комбобоксы хранят текстовые данные!

Например так (для комбобоксов - Combo_1 ... Combo_n)
в Querysave формы:
Dim index As Integer
index = 20
If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
. . .
If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index

В свойствах комбобоксов - включить "Allow values not in list" (вторая закладка), что-бы измененные значения были видны в форме.
"If ..." - что-бы не умножалось на index каждый раз при сохранении.
Что-бы не было ошибок при сохранении надо:
1 что-бы во всех комбобоксах было что-то выбрано (можно задать значение по умолчанию)
2 или проверять комбобокс на не пустое значение
3 или в первой строке в Querysave - "On Error Resume Next"
 
C

chz

Комбобоксы хранят текстовые данные!

Например так (для комбобоксов - Combo_1 ... Combo_n)
в Querysave формы:
Dim index As Integer
index = 20
If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
. . .
If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index

В свойствах комбобоксов - включить "Allow values not in list" (вторая закладка), что-бы измененные значения были видны в форме.
"If ..." - что-бы не умножалось на index каждый раз при сохранении.

большое спасибо!

А можно еще как-нибудь привязать к отдельному критерию свой индекс для умножения?

Поле критерий - это обычный текст бокс

Например:

если критерий равен "Критерий1" или в названии содержит "блаблабла" , то умножать на 20
если критерий равен "Критерий2" или в названии содержит "блаблабла2" , то умножать на 15

?
 
A

alexas

большое спасибо!
А можно еще как-нибудь привязать к отдельному критерию свой индекс для умножения?
Поле критерий - это обычный текст бокс
Поле критерий - CriterionField
On Error Resume Next
Dim index As Integer
Dim crit As String
crit = Source.Document.CriterionField(0)
if crit = "бла-1" then
index = 15
elseif crit = "бла-2" then
index = 20
. . . . . . .
elseif crit = "бла-n" then
index = 100
endif
If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
. . .
If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index


Но лучше CriterionField задать синонимы т.е в Choises:
бла-1|15
. . . .
бла-n|100

тогда index = Cint(Source.Document.CriterionField(0))
 
C

chz

Поле критерий - CriterionField
On Error Resume Next
Dim index As Integer
Dim crit As String
crit = Source.Document.CriterionField(0)
if crit = "бла-1" then
index = 15
elseif crit = "бла-2" then
index = 20
. . . . . . .
elseif crit = "бла-n" then
index = 100
endif
If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
. . .
If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index


Но лучше CriterionField задать синонимы т.е в Choises:
бла-1|15
. . . .
бла-n|100

тогда index = Cint(Source.Document.CriterionField(0))
thanks ;D
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Я бы вообще это в представлении сделал.
Сегодня критерий/коэффициент один, завтра другой. Что то изменилось надо данные пересчитать во всех документах...
 
C

chz

Я бы вообще это в представлении сделал.
Сегодня критерий/коэффициент один, завтра другой. Что то изменилось надо данные пересчитать во всех документах...
Если бы Вы написали как, я был бы очень признателен...
 
C

chz

и еще такой впорос)
для каждого критерия должен быть свой список в комбобоксе

Например,

Критерий 1 - Оценка (1,3,5)
Критерий 2 - Оценка (1,2,3)
Критерий 3 - Оценка (1,5)


Как это можно реализовать?
 
C

chz

Зависимые комбобоксы
Danke !)

Позвольте еще мне понаглеть)

У меня оценки из формы "Лист оценки" отображаются в View'e построчно, а колонки значит - год, квартал, месяц, отдел, критерий

И по колонке месяц находит среднее значение, и по кварталу и по году так же среднее...

Где это нарыть? Мне нужно изменить что бы была просто сумма значений...
 

Вложения

  • 123.jpg
    123.jpg
    133,4 КБ · Просмотры: 484
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!