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

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

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

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


Заранее спасибо...
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #32990701
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос был сформулирован неточно и пока снят...
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #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
вычисляемое поле в подформе. #ошибка
    #32990965
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #32990981
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо.
помогло.

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

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


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

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

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

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


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

nz(SUM([поле1])*Koeff)
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #39474134
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha...Есть ли другие предложения?....
Есть! Не вкурю, что Вы делаете? Изложите подробно задачу
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #39474147
хм-м-м
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошло 12 лет...
...
Рейтинг: 0 / 0
вычисляемое поле в подформе. #ошибка
    #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
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вычисляемое поле в подформе. #ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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