Как создать вычисляемое поле, вызывающее одно и то же вычисляемое поле в MS ACCESS

Я создаю запрос к базе данных Access из таблицы Excel, где строка «Total Capital Calls» рассчитывается сама по себе, а «Current Capital Call» - статична.

Данные из электронной таблицы:

                                 A          B           C           D  

1 Требование текущего капитала 1,000,000 240,000 2,000,000 1,960,000

2 Всего требований к капиталу 1,000,000 1,240,000 3,240,000 5,200,000

Расчет выглядит следующим образом:

                                 A          B           C           D      

1 Требование текущего капитала 1,000,000 240,000 2,000,000 1,960,000

2 Всего требований к капиталу 1000000 = + B1 + A2 = + C1 + B2 = + D1 + C2

Таким образом, формула повторяется по мере того, как данные перемещаются в следующее поле Total Capital Call, суммируя итоговое значение в следующее поле «Total Capital Call».

Я пытаюсь создать вычисляемое поле в запросе с использованием того же имени вычисляемого поля в вычислении. Мне нужно рассчитанное поле «Total Capital Calls», чтобы суммировать себя с полем [Current Capital Call].

Например:

SELECT LlamadoDeCapital.[Total Capital Committed], 
    LlamadoDeCapital.[Capital Call Request Date], 
    LlamadoDeCapital.[Capital Call Date], 
    LlamadoDeCapital.[Current Capital Call], 
    [Current Capital Call]+[Total Capital Calls] 
AS [Total Capital Calls]
FROM LlamadoDeCapital;

После выполнения запроса я получаю такое сообщение:

Circular reference caused by alias 'Total Capital Calls' in query definition's SELECT list

Можно ли вызвать вычисляемое поле в собственном выражении ??

or

Есть ли лучшее решение для суммирования вычисленного поля с самим собой и другим полем?


person LetsDoThis    schedule 02.09.2015    source источник
comment
Прочтите здесь   -  person cha    schedule 02.09.2015
comment
Ваша таблица структурирована так, как показано на рисунке? у вас есть несколько полей вместо записей? если второе .. Вы в основном ищете нарастающую сумму? Это для отчета или для формы? Взгляните на эту ссылку: support.microsoft.com/en-us/kb/290136   -  person Gene    schedule 02.09.2015
comment
Спасибо вам обе за ваши рекомендации. Возможно, мне придется каким-то образом использовать обе функции DLookup и DSum вместе, но я не совсем уверен, как это сделать. На данный момент я пытаюсь заставить функцию DSum работать только с полем Current Capital Calls, чтобы доказать, что это работает, однако я получаю синтаксическую ошибку.   -  person LetsDoThis    schedule 02.09.2015
comment
Вот мое выбранное выражение: SELECT LlamadoDeCapital.ID, LlamadoDeCapital. [TotalCapitalCommitted], LlamadoDeCapital. [CapitalCallRequestDate], LlamadoDeCapital. [CapitalCallDate], LlamadoDeCapital. [CurrentCapitalCallDate], LlamadoDeCapital. [CurrentCapitalCall] DSum (CurrentCapitalCall] DSum (CurrentCapitalCall] DSum (CurrentCapitalCall] DSum (CurrentCapitalCall] DSum (CurrentCapitalCall] DSum (CurrentCapitalCall]) ОТ LlamadoDeCapital;   -  person LetsDoThis    schedule 02.09.2015
comment
Вот ошибка, которую я получаю: Синтаксическая ошибка (отсутствует оператор) в выражении запроса «LlamadoDeCapital. [CurrentCapitalCall] DSum (CurrentCapitalCall, LlamadoDeCapital, CapitalCallDate‹ = & [CapitalCallDate]) ».   -  person LetsDoThis    schedule 02.09.2015
comment
Хорошо, удалось устранить синтаксическую ошибку. Я заменил запятые на точки с запятой. Но теперь при выполнении запроса в столбце TotalCapitalCalls ничего не суммируется.   -  person LetsDoThis    schedule 02.09.2015
comment
Мое обновленное выражение. Были изменены только точки с запятой: SELECT LlamadoDeCapital.ID, LlamadoDeCapital.TotalCapitalCommitted, LlamadoDeCapital.CapitalCallRequestDate, LlamadoDeCapital.CapitalCallDate, LlamadoDeCapital.CurrentCapital CurrentCall, DSumadoDeCapital.CurrentCapital CurrentCall, DSumadoDeCapital.CurrentCapital CurrentCall, DSum   -  person LetsDoThis    schedule 02.09.2015


Ответы (1)


Хорошо, поэтому добавление функции clng было разрешением:

DSum ("CurrentCapitalCall", "LlamadoDeCapital", "CapitalCallDate‹ = "& clng ( [CapitalCallDate] )) AS TotalCapitalCalls

Текущая сумма с обоими полями.

person LetsDoThis    schedule 02.09.2015