2013-06-11 3 views

ответ

0

Вам не нужно отдельной функции, попробуйте этот SQL пример:

SELECT FieldName, DateAdd("ww",CDbl(Mid([FieldName],6,2))-1,DateSerial(Mid([FieldName],2,2),1,1)) AS ConvDate 
FROM TableName 
+0

wow! Спасибо!!!! :) – Xarxas

0

Я думаю, что самым простым методом было бы составить таблицу дат с одной строкой на каждую неделю. Одно поле будет исходным форматом Y12-W01, а второе поле будет итоговой датой 20120102. Присоедините свои исходные данные к этой таблице в первом поле и используйте второе поле в качестве даты в последующих sql-запросах.

+0

вот что я сделал, но есть ли какой-нибудь sql для его преобразования? – Xarxas

+0

Что вы подразумеваете под "convert it"? Вы хотите изменить данные в исходной таблице? Или вам нужна новая таблица с форматом даты 20120102? –

+0

yup исходные данные Y12-W03 и я хотел бы изменить его на 20120102 – Xarxas

0

Разберите свою неделю и год вне поля. Я позволю тебе разобраться в этом. ; О)

После того, как у вас есть неделя и год, передать их в эту функцию:

Function GetWeekStart(weekNum As Integer, yr As Integer) As Date 

    GetWeekStart = DateSerial(yr, 1, 1 + (weekNum * 7) - 6 - Weekday(DateValue("1/1/" & yr))) 

End Function 
+0

поблагодарить за вход – Xarxas

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