2015-08-13 2 views
2

Используется как выражение в Access 2010, ниже возвращает, например, AUG15.Запрос/выражение для предыдущего месяца

Left(MonthName(Month(Date())),3) & Right(Year(Date()),2) 

Как изменить это, чтобы вернуться в предыдущий месяц, т.е. JUL15?

+0

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

ответ

0

Начало работы DateAdd выражение, которое предложил ... @ Сэм

? DateAdd("m", -1, Date()) 
7/13/2015 

Следующая использование Format представить его как 3-письма в месяц плюс 2-значный год ...

? Format(DateAdd("m", -1, Date()), "mmmyy") 
Jul15 

Если вы хотите месяц все прописные, накорми предыдущее выражение UCase ...

? UCase(Format(DateAdd("m", -1, Date()), "mmmyy")) 
JUL15 

Примечание эти примеры из окна Access Immediate, но го Выражения ose (без ?) будут работать одинаково в вашем запросе.

+0

Работает как шарм. Большое спасибо! – Mike

1

Вы должны смотреть на функции DateAdd:

DateAdd (interval, number, date) 

В зависимости от конкретных требований, вы можете использовать его, чтобы вычитать в месяц от текущей даты, как так:

DateAdd(m, -1, Date()) 

... или основываться на вашем выражении:

Left(MonthName(Month(DateAdd(m, -1, Date()))),3) & Right(Year(DateAdd(m, -1, Date())),2) 
Смежные вопросы