Я пытаюсь выполнить вычисляемое поле в MS Access. Задний план
У меня есть одна таблица, включающая такие поля, как:
Name Week Hours_Charged
X 21-06 10
Y 21-06 20
X 21-06 30
Z 21-06 40
Я пытаюсь создать новое поле в запросе, в котором указано «Промежуток» и содержится вычитание из 40.
Кроме того, он должен группироваться по одинаковым именам. Таким образом, ожидаемый результат будет следующим:
Name Week Hours_Charged Gap
X 21-06 40 0
Y 21-06 20 -20
Z 21-06 40 0
Условия: При одном и том же имени могут быть разные даты и часы. Однако идея остается прежней.
Любые выводы по этому поводу будут оценены.
Заранее спасибо.
Я попытался реализовать через режим разработки, но не удалось.
@FoxfireAndBurnsAndBurns Да, я изменил имя на другую номенклатуру. Спасибо за помощь
Должна быть таблица сотрудников с именем, фамилией, адресом и т. д., а также поле DefaultHours
для каждого сотрудника, так как еженедельные часы могут меняться и зависеть от положения и контракта, на которые ссылается внешний ключ в таблице часов.
Я ответил на вашу таблицу так:
И получил такой запрос:
Код SQL этого запроса (обратите внимание, я использовал разные имена полей):
SELECT Table1.MyName, Table1.MyWeek, Sum(Table1.Hours_Charged) AS SumaDeHours_Charged, 40-[SumaDeHours_Charged] AS GAP
FROM Table1
GROUP BY Table1.MyName, Table1.MyWeek;
И представление дизайна этого запроса в MS Access (обратите внимание, что мой доступ на испанском языке, поэтому имена строк в представлении дизайна указаны на испанском, а не на английском языке. Если вы хотите узнать значение чего-либо, вы можете спросить меня или использовать код SQL:
Кроме того, у меня есть фоновая форма, которая заполняет эти данные. Я хочу добавить что-то вроде управления отпусками. Например, если кто-то берет 3 часа выходных, то в поле отображаются листья (в часах), а разрыв рассчитывается автоматически. Возможно ли это сделать? Я включу отдельное поле в свою внутреннюю таблицу, а также в формы.
Это совсем другой вопрос. Вы должны открыть новый и опубликовать то, что вы сделали, пример реальных данных и где вы застряли.
Я предлагаю вам использовать другое имя для поля
Name
, потому что это зарезервированное слово для системы, и это может вызвать проблемы. Что-то вроде_Name_
илиMyName
или что-то еще, но неName