Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2012, 15:34   #1
Gul'ka
Пользователь
 
Аватар для Gul'ka
 
Регистрация: 11.02.2011
Сообщений: 69
Восклицание день недели (adp)

Здравствуйте уважаемые программисты. Заранее прошу прощения за глупый вопрос, но я только учусь.
Мне нужно в запросе (adp) вывести день недели(понедельник, вторник и т.д.) в mdb- Это через Format([DAT];"dddd"), а как в adp?
Gul'ka вне форума Ответить с цитированием
Старый 21.03.2012, 22:21   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Gul'ka.
Функция Format является функцией VBA.
VBA интегрирован в MS Access и его функции (даже пользовательские) интегрированные в SQL конструкции MS Access воспринимает как "родные" (это большой плюс MS Access).
С SQL сервером дело обстоит иначе, в его конструкциях не могут использоваться VBA функции, только интегрированные например:
Код:
SELECT DATENAME(weekday, GETDATE()) AS DayWeek
или определенные пользователем например:
Код:
ALTER FUNCTION dbo.nameDay
   (@Num int , @S varchar(15) )
RETURNS varchar (15) -- Cubic Centimeters.
AS
BEGIN
IF @Num = 1 
	SET @S = 'Понедельник'
IF @Num = 2 
	SET @S = 'Вторник'
IF @Num = 3 
	SET @S = 'Среда'
IF @Num = 4 
	SET @S = 'Четверг'
IF @Num = 5 
	SET @S = 'Пятница'
IF @Num = 6 
	SET @S = 'Суббота'
IF @Num = 7 
	SET @S = 'Воскресенье'
   RETURN ( @S )
END
применяться она может так:
Код:
SELECT     dbo.nameDay(1, '') AS F1, dbo.nameDay(2, '') AS F2, dbo.nameDay(3, '') AS F3, 
                      dbo.nameDay(4, '') AS F4, dbo.nameDay(5, '') AS F5, dbo.nameDay(6, '') 
                      AS F6, dbo.nameDay(7, '') AS F7
не зная версии и национальных установок Вашего SQL сервера могу предположить,
что оптимальнее будет использование собственной функции, т.к. по умолчанию
функция DATENAME названия дней недели выводит на английском, что не всегда удобно.

Успехов Вам.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
День недели по дате Waickem Паскаль, Turbo Pascal, PascalABC.NET 2 14.10.2011 20:39
День недели Марк Охман Общие вопросы Delphi 7 27.09.2010 15:42
определить день недели по заданному числу (считать в месяце 30 дней и первый день месяца понедельник dan1991 Помощь студентам 1 01.03.2009 20:59
Найти какой день недели ? Cantana Помощь студентам 6 31.10.2007 15:29
Как узнать какой сегодня день недели? Рустам Общие вопросы Delphi 9 05.09.2007 17:04