2016-04-22 1 views
0

Я пытаюсь создать базу данных в Access 2010 и столкнулся с некоторой проблемой. В настоящее время у меня есть две таблицы, EarlyStageListResults & ESDailyTotals. Каждая из этих таблиц имеет поле с именем Records, а ESDailyTotals - сводка нескольких записей в EarlyStageListResults. Что мне нужно сделать, это поле Records в ESDailyTotals будет состоять из нескольких полей Records в EarlyStageListResults. Например, учитывая следующие записи в EarlyStageListResults:Вычислить значение поля на основе нескольких записей в другой таблице в Access DB

Date   Records 
4/22/16  2000 
4/22/16  3000 
4/22/16  1500 
4/21/16  1200 
4/21/16  2700 

записи в ESDailyTotals должны быть:

Date   Records 
4/22/16  6500 
4/21/16  3900 

Я знаю, что это может быть вычислено позже через VBA и формы события, но я бы оптимально чтобы иметь возможность обновить его, как только будет изменен любой из полей Records в EarlyStageListResults. Похоже, что есть способ сделать это, используя редактор макросов доступа (не уверен в имени, но инструмент, в котором вы можете создать макрос через ряд комбинированных блоков, а не через VBA), но я никогда не получал понимание использования этого инструмента, поэтому всегда полагались на Forms и VBA. В принципе, если есть событие, которое запускается при обновлении поля, и способ ввода кода VBA в этот обработчик событий, как вы можете с помощью форм доступа, то я могу сделать это с помощью DLookup или SQL-запроса, который, как мне кажется, t знать, как захватить этот обработчик событий.

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

Заранее благодарен всем!

ответ

1

Вы делаете это слишком сложно. Вам просто нужно одну таблицу и представление базы данных (так называемый запрос в Access, я думаю), что определяется как

select Date, sum(Records) as Records from EarlyStageListResults 
group by Date 

Назовите запроса ESDailyTotals.

+0

Это не обновит поле, правда? Причина, по которой они мне нужны, заключается в том, что есть расчеты, которые необходимо выполнить, используя общее количество в день. Раньше я работал в другой форме, и я пытаюсь это упростить. В предыдущей версии эти две таблицы объединены как одна таблица, и она работает именно так, но тогда мне нужно около 10 полей для каждого списка, и если имя списка изменяется, тогда мне нужно войти и изменить поля, что означает предыдущий доступ к данным гораздо труднее. Я пытаюсь сделать его более обновляемым для будущих изменений. –

+0

'Это не будет обновлять поле, правда?' Я не знаю, что это значит, или в каком поле вы ссылаетесь. Это запрос, он будет рассчитывать итоги «на лету» каждый раз, когда «ESDailyTotals» будет доступен. –

+0

Мне нужны результаты расчета, которые нужно сохранить в поле '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ', ' Есть поле под названием «PercentTotal», в котором хранится процент всех учетных записей, которые каждый конкретный список содержит каждый день. Если в данный день в общей сложности 6000 учетных записей, а в списке A содержится 2000 таких, то поле «PercentTotal» List A будет 33%. (продолжение) –

Смежные вопросы