Условие отбора в Запросах

Romannsk
Дата: 29.11.2009 13:18:59
Здравствуйте,есть список студентов с днями рождения!Как сделать условие отбора так, чтобы выводились те студенты,у которых День рождения будет в Воскресенье!?
mds_world
Дата: 29.11.2009 13:25:33
select ПолеДатыРождения, полеФИО from Таблица where Weekday(ПолеДатыРождения,2)=7
qwrqwr_
Дата: 29.11.2009 13:39:45
Romannsk
у которых День рождения будет в Воскресенье!?

mds_world
Weekday(ПолеДатыРождения,2)=7

так выведутся родившиеся в воскресенье :))
mds_world
Дата: 29.11.2009 16:59:05
qwrqwr_
Romannsk
у которых День рождения будет в Воскресенье!?

mds_world
Weekday(ПолеДатыРождения,2)=7

так выведутся родившиеся в воскресенье :))

Верно, спасибо.

Но, тогда у ТС неопределенность в вопросе. В какое воскресенье? В ближайшее, в любое в этом месяце, в этом году?
Romannsk
Дата: 30.11.2009 07:40:00
Абсолютно любое воскресенье нужно))пока что не помогло! формат даты такой 01.01.2001
ё
Дата: 30.11.2009 08:26:00
Romannsk
Абсолютно любое воскресенье нужно))пока что не помогло! формат даты такой 01.01.2001


если - "Абсолютно любое", то выводите всех...
у любого студента, хоть раз в жизни был/будет день рождения в воскресенье
Beliar
Дата: 30.11.2009 08:32:49
Может так получится:

В основном модуле прописываем функцию:

Public Function BirthDay(BD As Date, Year As String)
Dim a1 As string
a1 = Left(BD, 5)
'если формат поля: краткий формат даты 01.01.2001
BirthDay = a1 + "." + Year
End Function

Затем запрос в режиме SQL:
SELECT полеФИО, ПолеДатыРождения, BirthDay(ПолеДатыРождения,Year(Now())) AS BirthDay, Weekday(BirthDay,2) AS WeekDay

Условие отбора в этом запросе добавить не получается, поэтому на его основе создаем следующий, где и прописываем where WeekDay=7

примечание: наверное вместо Year(Now()) следует использовать год текущей даты на языке VBA, тогда функция будет с одним параметром (BD as Date). Просто я в суматохе рабочего дня не могу вспомнить как на VBA выглядит текущая дата
ё
Дата: 30.11.2009 08:38:19
Beliar

как на VBA выглядит текущая дата

Date()
SELECT полеФИО, ПолеДатыРождения, WeekDay(DateSerial(Year(Date()), Month(ПолеДатыРождения), Day(ПолеДатыРождения)),2) AS WeekDay
WHERE WeekDay(DateSerial(Year(Date()), Month(ПолеДатыРождения), Day(ПолеДатыРождения)),2)=7
Beliar
Дата: 30.11.2009 09:35:38
Ааа, ну тогда вот так

Public Function BirthDay(BD As Date)
Dim a1 As string
a1 = Left(BD, 5)
'если формат поля: краткий формат даты 01.01.2001
BirthDay = a1 + "." + Year(Date())
End Function

запрос:
SELECT полеФИО, ПолеДатыРождения, BirthDay(ПолеДатыРождения) AS BirthDay, Weekday(BirthDay,2) AS WeekDay

затем запрос с условием where WeekDay=7


или вариант, предложенный ё
но я его не проверял