|
|
|
| Выбор из таблице по заданным датам. с....по.....
SELECT PRODUCTS_TBL.*
FROM PRODUCTS_TBL
WHERE (((PRODUCTS_TBL.DATE_OTK)>=FUN_DATE_FIRST() And (PRODUCTS_TBL.DATE_OTK)<=FUN_DATE_LAST()))
=======================================================================
Но дата в табле записывается у мну как дата, а у юзера как дата-время 20.02.2012 16:47:11
Получается у него не отображается инфа за 20.02.2012.
---------------------------------
Видимо потому, что 20.02.2012 16:47:11 > 20.02.2012 | |
|
| |
|
|
|
| select x
form y
where z between @data1 and @data2 | |
|
| |
|
|
|
| А что - between лучше, чем >= <= ? | |
|
| |
|
|
|
| WHERE (((PRODUCTS_TBL.DATE_OTK) Between FUN_DATE_FIRST() And FUN_DATE_LAST()))
================================
нет нифига.
Надо дату в табле как то привести в соответствие с датой в коротком виде. | |
|
| |
|
|
|
| Format(Date, "mm\/dd\/yyyy")
или
Format(Date, "dd\/mm\/yyyy")
возможно опять косяки Акса с датами - проверь в каком виде ты получаешь из даты из своих функций
вариант в функции ты получаешь 01.10.2011 - при возврате самой функции 10/1/2011 | |
|
| |
|
|
|
| Спасибо....
чё та нихрена не понимаю - не помогает чему то...
====================================================
WHERE (((Format([PRODUCTS_TBL]![DATE_OTK],"dd\/mm\/yyyy")) Between FUN_DATE_FIRST() And FUN_DATE_LAST())) | |
|
| |
|
|
|
| WHERE (((Format([PRODUCTS_TBL]![DATE_OTK],"dd\/mm\/yyyy")) Between Format(FUN_DATE_FIRST(),"dd\/mm\/yyyy") And Format(FUN_DATE_LAST(),"dd\/mm\/yyyy")))
попробуй вот так | |
|
| |
|
|
|
| ну вот и ты ответил на вапрос | |
|
| |
|
|
|
| select x
form y
where z between @data1 and @data2
у меня @data1 и @data2 параметры
в акксее [data1] [data2] | |
|
| |
|
|
|
|
|
чтобы не зависеть от минут
WHERE (((Format([PRODUCTS_TBL]![DATE_OTK],"dd\/mm\/yyyy"))
Between FUN_DATE_FIRST() And FUN_DATE_LAST()+1))
|
| |
|
| |
|
|
|
| Спасибо....
Вобщем привёл и то и другое к общему формату - и всё пучком стало.
WHERE (((FormatSpDate([DATE_OTK]))>=FormatSpDate(FUN_DATE_FIRST()) And (FormatSpDate([DATE_OTK]))<=FormatSpDate(FUN_DATE_LAST()))) | |
|
| |
|
|
|
| public function par(str as string)
select case str
case "data1"
par = Format(дата из формы таблицы или ..., "mm\/dd\/yyyy")
case "data2"
par = Format(дата из формы таблицы или ..., "mm\/dd\/yyyy")
End Select"
select x form y
where z between par("data1") and par("data2") | |
|
| |
|
44 Кб. |
|
| Спасибо. - это та, с которой срисовывал.
DDI на паять! | |
|
| |
|
|
|
| У меня объявлена глоб. константа
Const SQLDATE As String = "\#mm\/dd\/yyyy\#"
par = Format(дата из формы таблицы или ...,SQLDATE)
И помнить не надо эту жуткую конструкцию.
Можно также использовать замечательную ф-ю BuildCriteria:
strf = BuildCriteria("DataTabCal", dbDate, "between #" & dbegin & "# and #" & Dend & "#") & _
IIf(flvoskr, "", " AND [blnday] = true") -
Так же я объявляю и часто используемые строки
типа
Public Const S_vnim As String = "Внимание!"
Public Const S_error As String = "Ошибка!"
Public Const S_save As String = "Сохранить?"
Public Const S_netprav As String = "У Вас нет прав для редактирования!"
Public Const S_noprav As String = "У Вас отсутствуют права"
Public Const S_notlist As String = "Выберите значение из списка!"
и т.д.
1. Лень писать каждый раз
2. По теории работает быстрее, чем каждый раз генерить строку. | |
|
| |
|
|