Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 разница в отсчете дат в VBA и MS SQL.  [new]
Guest15052011
Guest
Доброго времени суток!
Вопрос вот в чем, если на форме VBA (Excel, Access) лежит datapicker, я беру его значение и передаю в процу, то передается на два дня больше. Я так понял это из-за того, что начало отсчета дат в одном случае 01.01.1900(VBA), а в другом 30.12.1899 (SQL). Вопрос - есть более красивый(и наверное правильный), чем отнимать два дня на клиенте или в проце?
16 май 11, 08:41    [10656095]     Ответить | Цитировать Сообщить модератору
 Re: разница в отсчете дат в VBA и MS SQL.  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Посмотрите пож. Рекомендации по оформлению сообщений в форуме. А то возможно вы не MSSQL используете.
Или дайте код передачи...
16 май 11, 08:45    [10656104]     Ответить | Цитировать Сообщить модератору
 Re: разница в отсчете дат в VBA и MS SQL.  [new]
iljy
Member

Откуда:
Сообщений: 8711
Guest15052011,

передавать дату как дату, а не как число с плавающей точкой. double с отсчетом дней от 30.12.1899 - это OLEDATETIME, VBA использует его, а скуль использует совсем другой формат - не число с плавающей точкой, а 2 целых. Скуль умеет переводить float в дату, но в качестве базы действительно использует 1.1.1900. В общем сделайте параметр типа adDBTimeStamp или adDBDate и будет счастье.
16 май 11, 08:55    [10656133]     Ответить | Цитировать Сообщить модератору
 Re: разница в отсчете дат в VBA и MS SQL.  [new]
Guest15052011
Guest
Владимир СА,

используем конечно MS SQL:

Microsoft SQL Server 2008 R2 (RTM) (Build 7601: Service Pack 1)

код передачи параметра

ADOCmd.Parameters.Append ADOCmd.CreateParameter("@StartDate", 6, 1)

ADOCmd.CreateParameter("@StartDate", 6, 1)

ADOCmd("@StartDate") = dtpStart.Value ' собстно из DTPicker непосредственно и берем.
16 май 11, 09:08    [10656158]     Ответить | Цитировать Сообщить модератору
 Re: разница в отсчете дат в VBA и MS SQL.  [new]
Guest15052011
Guest
iljy,

Спасибо, попробую.
16 май 11, 09:09    [10656161]     Ответить | Цитировать Сообщить модератору
 Re: разница в отсчете дат в VBA и MS SQL.  [new]
iljy
Member

Откуда:
Сообщений: 8711
Guest15052011
ADOCmd.Parameters.Append ADOCmd.CreateParameter("@StartDate", 6, 1)

Зашибись! Создаете параметр типа adCurrency, передаете его как дату, а потом удивляетесь - чей-то у нас фигня получается! Класс.
16 май 11, 09:14    [10656175]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить