КД
Дата: 28.02.2008 18:44:59
Использовал значение текущего времени для вставки его в поле таблицы:
Public Function TimeNow
Public varCurrentTimeMoment As Variant
varCurrentTimeMoment = Now() 'компоненты даты разделены точкой и в таком виде запрос не принимает
varCurrentTimeMoment = Replace(varCurrentTimeMoment, ".", "/") 'теперь принимает
End Function
теперь можно использовать:
strSQL = "UPDATE CATEGORIES_DOCUMENTS SET " & _
"CATEGORIES_DOCUMENTS.blnACTUAL_DATA = False, " & _
"CATEGORIES_DOCUMENTS.lngSESSION_ID_DELETE = " & intNomerSession & ", " & _
"CATEGORIES_DOCUMENTS.dtmDATE_DELETE = #" & varCurrentTimeMoment & "# " & _
"WHERE CATEGORIES_DOCUMENTS.idsCATEGORY_DOCUMENTS_ID = " & varNodeKey & ";"
CurrentDb.Execute strSQL, dbFailOnError
другая задача – сравнить между собой значения дат и, если дата еще не наступила, – посылать на фиг:
varDateMadeUnit = Me.txtDateMadeUnit.Value (в форме у этого поля маска ввода: 00.00.0000;0;_)
varDateMadeUnit = Replace(varDateMadeUnit, ".", "/")
varDateMadeUnit = "#" & varDateMadeUnit & "#"
'проверим, корректно ли внесена дата
TimeNow
If varDateMadeUnit >= "#" & varCurrentTimeMoment & "#" Then
MsgBox "Эта дата еще не наступила!", vbOKOnly
Exit Sub
Else
End If
не фурычит… Я что-то не соображу… Пните в правильном направлении, плиз.
Анатолий ( Киев )
Дата: 28.02.2008 18:56:06
Для SQL дата должна быть в формате MM/DD/YYYY, а у вас DD/MM/YY
Лучше использовать:
varCurrentTimeMoment = Format(varCurrentTimeMoment,"\#MM\/DD\/YYYY HH:NN:SS\#")
?Format(Now,"\#MM\/DD\/YYYY HH:NN:SS\#")
#02/28/2008 17:53:52#
КД
Дата: 02.03.2008 19:52:19
2 бухой бык
Респект! DateValue рулит!
Остановился на таком варианте:
Функцию TimeNow оставил как есть, а сравнение дат теперь так
varDateMadeUnit = Me.txtDateMadeUnit.Value
'проверим, корректно ли внесена дата
TimeNow
If DateValue(varCurrentTimeMoment) >= DateValue(varDateMadeUnit) Then
Else
MsgBox "Эта дата еще не наступила!", vbOKOnly
Exit Sub
End If
2 Анатолий
Ваш вариант почему-то не заработал… Может, у меня настройки в компе кривые?