Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как найти среднее значение? / 11 сообщений из 11, страница 1 из 1
12.04.2017, 20:32
    #39437555
AntonSol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
К примеру есть форма в которой пользователю доступно ввести 6 значений, при этом в 7-ой ячейки, должно появится вычисляемое средне значение. В примере такая конструкция реализована... Но есть нюанс, для того что бы получить среднее значение, необходимо ввести все 6 символов. Необходимо, что бы форма могла вычислять среднее так же из трех значений и при этом записывать вычисленное значение в тот же столбик "СредЗнач". Как это реализовать?
...
Рейтинг: 0 / 0
12.04.2017, 21:31
    #39437575
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
AntonSol,

В свойстве данные поля СредЗнач указать:
Код: sql
1.
=(Nz([P1])+Nz([P2])+Nz([P3])+Nz([P4])+Nz([P5])+Nz([P6]))/-(([P1] Is Not Null)+([P2] Is Not Null)+([P3] Is Not Null)+([P4] Is Not Null)+([P5] Is Not Null)+([P6] Is Not Null))
...
Рейтинг: 0 / 0
19.04.2017, 07:50
    #39440584
AntonSol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
Конструктор не принимает, пишет не возможно использовать в вычисляемом столбце:

https://yadi.sk/i/7CeHGAD-3H7rbT
...
Рейтинг: 0 / 0
19.04.2017, 08:04
    #39440585
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
Чего-чего?
В каком "вычисляемом столбце"?
В формах, а ведь речь шла о них, столбцов нет.

Оперативность ТС поразительная - больше недели уж прошло.
...
Рейтинг: 0 / 0
19.04.2017, 10:14
    #39440663
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
AntonSolКонструктор не принимает, пишет не возможно использовать в вычисляемом столбце:

https://yadi.sk/i/7CeHGAD-3H7rbT

да еще текст ошибки на файлообменник
...
Рейтинг: 0 / 0
19.04.2017, 10:29
    #39440681
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
AntonSolКонструктор не принимает, пишет не возможно использовать в вычисляемом столбце:

https://yadi.sk/i/7CeHGAD-3H7rbT

если обычное поле, не вычисляемое и с применением кода
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Private Sub Кнопка15_Click()
Dim zkol, zsum
zkol = 0
zsum = 0
If Len("" & Me.A1) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A1
End If
If Len("" & Me.A2) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A2
End If
If Len("" & Me.A3) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A3
End If
If Len("" & Me.A4) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A4
End If
If Len("" & Me.A5) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A5
End If
If Len("" & Me.A6) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A6
End If
If zkol = 0 Then zkol = 1
Me.СредЗнач = zsum / zkol
Me.Refresh
End Sub
...
Рейтинг: 0 / 0
20.04.2017, 01:33
    #39441285
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
ПЕНСИОНЕРКАAntonSolКонструктор не принимает, пишет не возможно использовать в вычисляемом столбце:

https://yadi.sk/i/7CeHGAD-3H7rbT

если обычное поле, не вычисляемое и с применением кода
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Private Sub Кнопка15_Click()
Dim zkol, zsum
zkol = 0
zsum = 0
If Len("" & Me.A1) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A1
End If
If Len("" & Me.A2) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A2
End If
If Len("" & Me.A3) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A3
End If
If Len("" & Me.A4) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A4
End If
If Len("" & Me.A5) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A5
End If
If Len("" & Me.A6) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A6
End If
If zkol = 0 Then zkol = 1   '  вот это вообще не понятно,
Me.СредЗнач = zsum / zkol   '  почему при полном отсутствии данных среднее значение становится нулем?
Me.Refresh   "  и это зачем?
End Sub

Ну, допустим, кому-то хочется сделать именно так.
Но почему же всю эту череду не записать покороче?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Кнопка15_Click()
 Dim zkol, zsum
 Dim i As Byte
 For i = 1 To 6
  If Not IsNull(Me("A" & i)) Then
   zkol = zkol + 1
   zsum = zsum + Me("A" & i)
  End If
 Next
 If zkol > 0 Then
  Me.СредЗнач = zsum / zkol
 Else
  Me.СредЗнач = Null
 End If
End Sub 
...
Рейтинг: 0 / 0
20.04.2017, 06:48
    #39441314
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
__Michelle,

Но почему же всю эту череду не записать покороче?
далеко не всегда имена вычисляемые типа а1....а6
они могут быть любыми
...
Рейтинг: 0 / 0
26.04.2017, 13:44
    #39444747
AntonSol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
ПЕНСИОНЕРКАAntonSolКонструктор не принимает, пишет не возможно использовать в вычисляемом столбце:

https://yadi.sk/i/7CeHGAD-3H7rbT

если обычное поле, не вычисляемое и с применением кода
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Private Sub Кнопка15_Click()
Dim zkol, zsum
zkol = 0
zsum = 0
If Len("" & Me.A1) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A1
End If
If Len("" & Me.A2) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A2
End If
If Len("" & Me.A3) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A3
End If
If Len("" & Me.A4) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A4
End If
If Len("" & Me.A5) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A5
End If
If Len("" & Me.A6) > 0 Then
zkol = zkol + 1
zsum = zsum + Me.A6
End If
If zkol = 0 Then zkol = 1
Me.СредЗнач = zsum / zkol
Me.Refresh
End Sub



Да уж, я даже не понял куда это вставлять нужно
Я так понимаю, нужно начать изучение VB в связки с Access ?:)
...
Рейтинг: 0 / 0
26.04.2017, 14:13
    #39444770
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
AntonSol,

На вопрос 20413045 ответить не желаете?
...
Рейтинг: 0 / 0
28.04.2017, 06:14
    #39445811
AntonSol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти среднее значение?
Я подумал, что эта формула для столбца с типом "вычисляемый".

В общем более менее разобрался, но не понимаю двух моментов.

1. "Me." в строке "Me.СредЗнач = zsum / zkol" это является названием таблицы?
2. Строка "Me.СредЗнач = zsum / zkol" реализует отображение результата в самой форме, но не вносит его в таблицу. Как можно добиться того, что бы результат вносился в таблицу?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как найти среднее значение? / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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