Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: час Ещё Сергей Гаврилов (Serge_Gavrilov) говорил:
"...а я пользую функцию типа to_lng и по-любому везде с датами все работает... ' "SELECT * FROM Rates WHERE to_lng(InputDate)=" & to_lng(Format(Now(),"dd.mm.yyyy")) а собственно Date работает попробуй с to_lng, указанным выше, а то с этими датами проблем не оберешься... - неправильные национальные настройки - прибабахи SQL по работе только с амрыканскими датами, да еще и ## решетки им дай ... уж и не вспомню, что еще, но меня эта лабуда достала еще в аксес2.0 и я пользую to_lng или to_dbl (если и время надо) а точнее вот такой маленький модуль... в неизменном виде с 1994 года..."
Option Compare Database Option Explicit Public X, Y, Z Function to_cur(Num) As Currency On Error Resume Next to_cur = CCur(Num) If Err <> 0 Then to_cur = 0 If IsNull(Num) Then to_cur = 0 On Error GoTo 0 End Function '============== Function to_dbl(Num) As Double On Error Resume Next to_dbl = CDbl(Num) If Err <> 0 Then to_dbl = 0 If IsNull(Num) Then to_dbl = 0 On Error GoTo 0 End Function '============== Function to_int(Num) As Integer On Error Resume Next to_int = CInt(Num) If Err <> 0 Then to_int = 0 If IsNull(Num) Then to_int = 0 On Error GoTo 0 End Function '============== Function to_lng(Num) As Long On Error Resume Next to_lng = CLng(Num) 'ВНИМАНИЕ! См. замечание ниже If Err <> 0 Then to_lng = 0 If IsNull(Num) Then to_lng = 0 On Error GoTo 0 End Function '============== Function to_sng(Num) As Single On Error Resume Next to_sng = CSng(Num) If Err <> 0 Then to_sng = 0 If IsNull(Num) Then to_sng = 0 On Error GoTo 0 End Function '============== Function to_str(VarStr) As String On Error Resume Next to_str = CStr(VarStr) If Err <> 0 Then to_str = "" If IsNull(VarStr) Then to_str = "" On Error GoTo 0 End Function '============== Function to_date(VarDate) As Date On Error Resume Next to_date = CDate(VarDate) If Err <> 0 Then to_date = 0 If IsNull(VarDate) Then to_date = 0 On Error GoTo 0 End Function '============== AR ======== ======== Некоторое замечание... Если использовать CLng() для полной даты, то можете ошибиться. Например сейчас Now дает ?now() 28.01.2003 13:03:14 В Double это: ?cdbl(cdate("28.01.2003 13:03:14")) 37649,543912037 CLng() даст 37650, т.е. другую дату: ?cdate(37650) 29.01.2003 Надо еще Int пользоваться ?сLng(Int(now())) 37649 Serge_Gavrilov
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.