Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вычисляемое поле в подформе. #ошибка / 10 сообщений из 10, страница 1 из 1
31.03.2005, 12:31
    #32990680
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
в примечаниях (ленточной) подформы вычисляемое поле
типа
=SUM([поле1])*Koeff, где koeff - константа.
добавление записей на подформе запрещено.

В случае, когда запрос источника строк подформы возвращает
пустое множество строк, в вычисляемом поле светится #ошибка

понимаю, что разрулить можно через родительскую форму,
анализируя рекордсет подчиненной и подменяя источник для поля.

Есть ли другие предложения?
(не соображу, можно ли и как в данном случае формулу подправить)


Заранее спасибо...
...
Рейтинг: 0 / 0
31.03.2005, 12:39
    #32990701
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
вопрос был сформулирован неточно и пока снят...
...
Рейтинг: 0 / 0
31.03.2005, 13:54
    #32990951
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
(A2002, mdb, связь формы и подформы вручную, через формирование рекодсета для подчиненной на родительской)

при отсутствии данных в подформе упомянутое вычисляемое поле в подформе не имеет значения. Само поле на подформе в любом случае скрыто.

На родительской форме выведен контрол, который ссылается на это поле
это поле в подчиненной.

Источник задан так:
=Forms("Родительская").[КонтролПодформы].[Form].[Controls]("имяВычислимогоПоля")
Именно в этом контроле на родительской форме вываливается #ошибка

Пробовал обвязать ситуацию двумя вариантами функций

Вариант1
( подразумевается, что будет передано выражение для
доступа к вычисляемому контролу подформы)

Код: plaintext
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.
Function getSubFormValue(strExpression As String)
  Dim v
  v = Eval(strExpression)
  Dim k
  If VarType(v) = vbError Then
     getSubFormValue = CCur( 0 )
  Else
     getSubFormValue = CCur(v)
  End If  
End Function

Вариант2
Function getSubFormValue2()
On Error GoTo ZEROERR
  Dim v
  Debug.Print "!"
  v = Forms("ИмяРодительской").Controls("КонтролПодчиненной").Form.Controls("ИмяВычисляемогоКонтрола").Value

Exit Function
  ZEROERR:
  Select Case Err.Number
    Case  2427 
     getSubFormValue2 = CCur( 0 )
     Err.Clear
  End Select
End Function

Получилось, что вычисление значения функции происходит лишь однажды
при старте формы. (В подчиненной по определению при этом пусто)
Попытка программного Recalc после обновления RecordSet подчиненной приводит к краху приложения.
/decompile не помогает.

процедура синхронизации (без изъятий)
QDef - QueryDef

Sub SynchParameters()
Dim p As DAO.Parameter

For Each p In QDef.Parameters
p.Value = Eval(p.Name)
Next

Me.Painting = False
Me("КонтролПодчиненной").Form.Painting = False

Set tR = QDef.OpenRecordset(dbOpenDynaset, dbSeeChanges, dbOptimistic)
DBEngine.Idle dbRefreshCache
Set Me("КонтролПодчиненной").Form.Recordset = tR

Me("КонтролПодчиненной").Form.Painting = True
Me.Painting = True
'Me.Поле28.Requery

'Me.Recalc
End Sub





кажется все.

ПАМАХИТЯЯЯ...., хто может ...
(;
...
Рейтинг: 0 / 0
31.03.2005, 13:57
    #32990965
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
...
Рейтинг: 0 / 0
31.03.2005, 14:02
    #32990981
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
спасибо.
помогло.

(с выражением лица)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
14.06.2017, 11:19
    #39471382
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
Пришло сообщение модератору:

Модератор: Здравствуйте, аналогичная проблема, а ссылка не работает ...
http://www.sql.ru/forum/actualtopics.aspx?search=iserror&submit=?????&bid=4


Здравствуйте. Эта ссылка - старый формат строки поиска по форуму. Вам придется разобраться, что я там искал (перевести %CD%E0%E9%F2%E8 в человеческий вид), и выполнить поиск по форуму
...
Рейтинг: 0 / 0
19.06.2017, 12:02
    #39474046
2x2=4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
Victoshaв примечаниях (ленточной) подформы вычисляемое поле
типа
=SUM([поле1])*Koeff, где koeff - константа.
добавление записей на подформе запрещено.

В случае, когда запрос источника строк подформы возвращает
пустое множество строк, в вычисляемом поле светится #ошибка

понимаю, что разрулить можно через родительскую форму,
анализируя рекордсет подчиненной и подменяя источник для поля.

Есть ли другие предложения?
(не соображу, можно ли и как в данном случае формулу подправить)


Заранее спасибо...

nz(SUM([поле1])*Koeff)
...
Рейтинг: 0 / 0
19.06.2017, 14:11
    #39474134
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
Victosha...Есть ли другие предложения?....
Есть! Не вкурю, что Вы делаете? Изложите подробно задачу
...
Рейтинг: 0 / 0
19.06.2017, 14:31
    #39474147
хм-м-м
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
Прошло 12 лет...
...
Рейтинг: 0 / 0
19.06.2017, 15:17
    #39474172
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вычисляемое поле в подформе. #ошибка
GeoПришло сообщение модератору:

Модератор: Здравствуйте, аналогичная проблема, а ссылка не работает ...
http://www.sql.ru/forum/actualtopics.aspx?search=iserror&submit=?????&bid=4


Здравствуйте. Эта ссылка - старый формат строки поиска по форуму. Вам придется разобраться, что я там искал (перевести %CD%E0%E9%F2%E8 в человеческий вид), и выполнить поиск по форуму
Хе...
Код: vbnet
1.
2.
?URLDecode("%CD%E0%E9%F2%E8")
Найти
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вычисляемое поле в подформе. #ошибка / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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