Необходимо поле формы MS Access для автоматического расчета и распределения затрат на основе заданных параметров - PullRequest
0 голосов
/ 16 ноября 2018

Ниже приведена моя фиктивная база данных, которую я использую.У меня есть четыре разных таблицы: Tbl_MainDatabase, Tbl_InsuranceCoverage, Tbl_MatterDetail и Tbl_PaymentProcessing .

Database

Что я хочу -

Я хочу, чтобы моя форма определяла оставшиеся Предел удержания (т. Е. Предел удержания для применимого полиса - сумма счетов за один и тот же Номер претензии )

В соответствии с фиктивной базой данных требуемый ответ долженбудьте [$ 2500 - (300 + 700 + 355)] как выделено для вашего удобства

То, что я пробовал

Я воспользовался помощью графического представления в следующем запросе:

SELECT [Claim Number], Sum([Net Invoice Amount]) 
FROM [PaymentProcessing] 
GROUP BY [Claim Number]

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

Любая помощь приветствуется :)

Мне исполнился месяц при использовании Access.Но я стараюсь изо всех сил, чтобы выучить

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

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Для всех новых пользователей Приведенный выше код @Doug Coats отлично работает. Убедитесь Все внешний ключ и первичные ключи связаны в свойстве отношений. (Один из способов сделать это в запросе - щелкнуть правой кнопкой мыши на запросе и выбрать «Представление дизайна» -> снова щелкнуть правой кнопкой мыши на сером поле и выбрать «Показать все таблицы сейчас». Перетащите первичный ключ таблицы и перетащите его на сторонний объект). Ключ на другой таблице -> Это создаст связь между ними для цели запроса.

Это также предотвратит дублирование данных в запросе, а затем использует код, аналогичный описанному Дугом Коутсом в приведенном выше комментарии в SQL View

SELECT [Insurance Coverage].[Retention Unit]-Sum([Net Invoice Amount]) AS Remaining, [Matter Detail].[Claim Number], [Insurance Coverage].[Retention Unit], [Matter Detail].Policy
FROM (([Main Database] INNER JOIN [Matter Detail] ON [Main Database].[Database ID] = [Matter Detail].[Short Name]) INNER JOIN [Payment Processing] ON ([Matter Detail].[Matter Detail ID] = [Payment Processing].[Matter Detail ID]) AND ([Main Database].[Database ID] = [Payment Processing].[Short Name])) INNER JOIN [Insurance Coverage] ON [Matter Detail].Policy = [Insurance Coverage].[Insurance ID]
GROUP BY [Matter Detail].[Claim Number], [Insurance Coverage].[Retention Unit], [Matter Detail].Policy;

Затем вы можете отобразить этот запрос в форме - я все еще оцениваю лучший способ отобразить этот запрос, вероятно, в поле со списком (не уверен, если какой-либо другой элемент управления имеет источник строки)

Спасибо

0 голосов
/ 16 ноября 2018
SELECT 
IC.[Retention Limit]-SUM([Net Invoice Amt]) AS Remaining, MD.[Claim Number], IC.[Retention Limit], IC.InsuranceID
FROM tbl_InsuranceCoverage IC
INNER JOIN tbl_MatterDetail MD ON ic.InsuranceID = MD.Policy
INNER JOIN tbl_PaymentProcessing PP ON MD.MatterDetailID=pp.MatterDetailID AND MD.[Claim Number]=pp.[Claim Number]
GROUP BY MD.[Claim Number], IC.[Retention Limit], IC.InsuranceID

Посмотрите, работает ли это. Не проверял это, но кажется простым. Вы можете удалить лишние столбцы, но это поможет вам понять, что присоединения немного

...