Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Filter 'between'........................................................... / 13 сообщений из 13, страница 1 из 1
04.09.2003, 10:28
    #32255498
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Как можно сделать filter на recordset с сравнением даты , как в SQL between.
Я делаю recordset.filter = "BeginingDate between '20030903 19:00:00' AND '20030905 19:00:00' ,но ничего не выходит?
...
Рейтинг: 0 / 0
04.09.2003, 10:49
    #32255545
tpg
tpg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Тогда перепиши с использованием >= и <=
...
Рейтинг: 0 / 0
04.09.2003, 11:11
    #32255574
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Filter не принимает BeginingDate <= '030904 9:40:25' And BeginingDate >= '030905 9:40:25'
А заново делать Select не хочу
...
Рейтинг: 0 / 0
04.09.2003, 11:11
    #32255575
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
и дату задавай в формате
#MM/dd/YYYY HH:mm:ss#
...
Рейтинг: 0 / 0
04.09.2003, 11:18
    #32255589
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Так для SQL Servera это нормальный формат. Я делаю в SQL Analyzer и всё проходит нормально , только с Select...............
...
Рейтинг: 0 / 0
04.09.2003, 11:27
    #32255608
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
так это уже не сервер, а Recordset и правила там свои

Код: plaintext
recordset.filter =  "BeginingDate >= #09 / 03 / 2003   19 : 00 : 00 #  AND BeginingDate <= # 09 / 05 / 2003   19 : 00 : 00 #"

читай топик Filter Property для ADO 2.x API Reference в MSDN
...
Рейтинг: 0 / 0
04.09.2003, 11:38
    #32255624
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Спасибо большое за помощь .
Тогда ещё один вопрос, будет ли такой формат даты работать под другим Regional Settings , например mm.dd.yyy или dd.mm.yyyy ?
...
Рейтинг: 0 / 0
04.09.2003, 12:12
    #32255688
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
всегда формат US независимо от regional settings в control panel
т.е. #MM/dd/yyyy#
...
Рейтинг: 0 / 0
04.09.2003, 12:42
    #32255740
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Как мне можно проверить , находится ли дата в промежутке другой даты, например есть дата между 09/04/2003 14:00:00 и 09/05/2003.
Я выбираю дату 09/04/2003012:00:00 и 09/05/2003 17:00:00.
Как проверить , что промежуток во второй дате проходит по помежутку первой ?
Я хочу , чтобы не было одинаковых промежутков
...
Рейтинг: 0 / 0
04.09.2003, 13:02
    #32255783
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Я ПЫТАЮСЬ ОГРАНИЧИТЬ КОНФЛИКТЫ ПРИ ВНЕСЕНИИ ДАТЫ.
Чтобы заносимая дата не конфликтовала с существующей.
Есть таблица c StartDate и EndDate.
Может теперь будет понятней.
...
Рейтинг: 0 / 0
04.09.2003, 13:19
    #32255809
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
хп напиши и проверяй в ней, выполняя ее на сервере
а результат возвращай на клиент - от этого и прыгай, входит дата в промежуток или нет
...
Рейтинг: 0 / 0
04.09.2003, 13:26
    #32255821
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
Мне надо сделать проверку в VB.
Или хотя бы знать , как это сделать в тригере(а потом я попробую перевести это в VB)
Можно и в тригере , но как???
...
Рейтинг: 0 / 0
04.09.2003, 14:11
    #32255890
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Filter 'between'...........................................................
если ты работаешь с интервалами, то условие непересечения
интервалов [ИнтНач1, ИнтКон1] и [ИнтНач2, ИнтКон2]
Код: plaintext
(ИнтКон1 <= ИнтНач2) OR (ИнтКон2 <= ИнтНач1)
используй это его инверсию (по деМоргану)
Код: plaintext
(ИнтКон1 > ИнтНач2) AND (ИнтКон2 > ИнтНач1)
для фильтра чтобы определить пересечения (Recordcount будет ненулевой)

ИнтНач1 и ИнтКон1 - это поля StartDate и EndDate,
ИнтНач2 и ИнтКон2 - проверяемый интервал, например, с 1 сент 2003 по 3 сент 2003

Код: plaintext
1.
2.
3.
recset.filter= "(EndDate > #9 / 1 / 2003 #) AND (# 9 / 3 / 2003 # > StartDate)"
if recset.recordcount >  0  then
' есть пересечения
end if
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Filter 'between'........................................................... / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]