|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Всем добрый день. Помогите пожалуйста разобраться в проблемке. Пишу дипломную: БД по заказам клиентов. Так вот не могу вывести "заказы" за ферваль месяц. Пробовала в sql: Select... from... Where Заказы_работы.дата_заказа Between '20120201' AND '20120228'. Можно еще код, где можно вывести заказы на определенный месяц, к примеру вводишь 3, а там заказы за март месяц..плииз я новичок в vfp.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:00 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Laylik, Функция BETWEEN определяет, находится ли заданное некоторое выражение между значениями двух заданных выражений того же типа данных. BETWEEN(eTestValue, eLowValue, eHighValue) Параметры eTestValue Определяет тестируемое выражение. eLowValue Определяет выражение, как Нижнюю границу диапазона. eHighValue Определяет выражение, как Верхнюю границу диапазона. Expand imageВозвращаемое значение Логического типа или null. BETWEEN( ) возвращает значение = True (.T.), если заданный первым аргумент функции равен или больше нижней границы (второй параметр) заданного диапазона и не больше верхнего предела диапазона, заданного третьим аргументом. В другом случае, функция BETWEEN( ) возвращает значение = False (.F.). BETWEEN( ) возвращает значение = null, если параметры eLowValue или eHighValue имеют значение = null. Expand imageПример В следующем примере, открывается таблица orders, в которой сканируются все записи, в которых значение поля order_amt находится в диапазоне между 950 и 1000, включительно; отображаются соответствующие значения полей cust_id и order_amt. CopyCode imageКопировать Код CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE orders && Открывается таблица order CLEAR SCAN FOR BETWEEN(order_amt,950,1000) ? cust_id, order_amt ENDSCAN ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:32 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Jonny540, ничего не поняла, но спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:35 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Преобразует символьное выражение в выражение даты. Синтаксис CTOD(cExpression) Параметры cExpression Задает символьное выражение, для которого функция CTOD( ) возвращает значение типа Date. Выражение cExpression должно определять допустимую дату в диапазоне от 1/1/100 до 12/31/9999. По умолчанию cExpression имеет формат mm/dd/yy. Его можно изменить командами SET DATE и SET CENTURY. Если при вводе даты век не указывается (например 1/1/95); предполагается двадцатый век. Результат Дата Комментарии Функция CTOD( ) принимает символьное выражение и возвращает значение типа Date. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:36 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Laylik, Найдите три отличия: Between '20120201' AND '20120228' BETWEEN(order_amt,950,1000) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:38 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Алексей (Витебск), SELECT Zakazy.код_заказа, Zakazy.табельный_номер, Zakazy.объект,; Zakazy.дата_заказа; FROM ; data1!заказы Zakazy; WHERE Zakazy.дата_заказа BETWEEN CTOD("01.02.2012") AND CTOD("28.02.2012") задавала диапазон с помощью фильтра, исчезли всякие ошибки, но выводится пустая таблица с заданными полями. Вроде вводила данные за февраль месяц ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:41 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
IgorNG, мне именно дата нужна, таким образом я оклад уже выводила. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:42 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Laylik, А за месяц - есть функция MONTH() Функция возвращает номер месяца для заданного выражения типа Date или DateTime. MONTH(dExpression | tExpression) Параметры dExpression - Определяет выражение типа Date для которого функция MONTH( ) возвращает номер месяца. tExpression - Определяет выражение типа DateTime для которого функция MONTH( ) возвращает номер месяца. Возвращаемое значение: Числовое MONTH( ) возвращает число в диапазоне от 1 до 12. Январь - месяц с номером 1, декабрь - месяц с номером 12. Заказы за месяц: MONTH(Заказы_работы.дата_заказа )=3 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 15:44 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Laylik, По умолчанию cExpression имеет формат mm/dd/yy. Его можно изменить командами SET DATE и SET CENTURY. Если при вводе даты век не указывается (например 1/1/95); предполагается двадцатый век. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 16:23 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 16:33 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 16:35 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
LaylikВсем добрый день. Помогите пожалуйста разобраться в проблемке. Пишу дипломную: БД по заказам клиентов. Так вот не могу вывести "заказы" за ферваль месяц. Пробовала в sql: Select... from... Where Заказы_работы.дата_заказа Between '20120201' AND '20120228'. Можно еще код, где можно вывести заказы на определенный месяц, к примеру вводишь 3, а там заказы за март месяц..плииз я новичок в vfp.. *Заказы за Февраль SELECT * FROM заказы_работы WHERE MONTH(Дата_заказа)=2 INTO CURSOR заказы_февраль BROWSE *Заказы за Февраль и Март SELECT * FROM заказы_работы WHERE MONTH(Дата_заказа)=2 OR MONTH(Дата_заказа)=3 INTO CURSOR заказы_февраль BROWSE ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 16:38 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
LaylikВсем добрый день. Помогите пожалуйста разобраться в проблемке. Пишу дипломную: БД по заказам клиентов. Так вот не могу вывести "заказы" за ферваль месяц. Пробовала в sql: Select... from... Where Заказы_работы.дата_заказа Between '20120201' AND '20120228'. Можно еще код, где можно вывести заказы на определенный месяц, к примеру вводишь 3, а там заказы за март месяц Ну, надеюсь, Вы все-таки понимаете, что месяц имеет смысл только в "комплекте" с годом. Иначе Вы получите выборку за март месяц, но по всем годам, какие только есть в таблице. Дату в FoxPro можно сформировать многими способами, но, если исходить из Вашего предположения, что задается номер месяца, то надо сформировать дату на первое число месяца и дату на последнее число месяца. Тогда получим примерно такой код Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
В более общем случае пользователю просто предлагается ввести эти самые начальную и конечную дату в некой предварительной форме. Тогда в запросе просто напрямую указываются введенные значения без каких-либо преобразований. Для справки Если в объекте TextBox на форме не указано свойство ControlSource, то, по умолчанию, тип данных, вводимый и отображаемый в данном объекте определяется значением свойства TextBox.Value. Если там ничего не указано, то TextBox будет вводить символьные (строковые) типы данных. Чтобы в TextBox вводились данные типа Date необходимо сделать присвоение TextBox.Value = {} Т.е. просто две фигурные скобки подряд. Это присвоение можно сделать и в дизайнере формы или класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 18:29 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
ВладимирМ, Local lnYear, lnMonth lnYear = Year(Date(2012)) lnMonth = 2 Local ldDateFrom, ldDateTo ldDateFrom = Date(2012, 02, 1) ldDateTo = GoMonth(28, 1) - 1 SELECT *; FROM data1!заказы Where Заказы.дата_заказа Between m.ldDateFrom AND m.ldDateTo вот так вы имеете ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 18:52 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Почти. Только в функцию формирования начальной даты надо не число 2 ставить, а указывать переменную, содержащую номер месяца. Это чтобы иметь возможность изменять выбранный месяц. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 19:02 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Да, и еще, первый параметр функции GoMonth() - это все-таки дата. В данном случае, начальная дата. А вовсе не число 28. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 19:03 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
эх не получается. наверное я как новичок что-то не так делаю. Всем спасибо что старались, дай Бог вам здоровья. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 19:21 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Laylik, ВладимирМ Вам уже все написал, зачем переделываете? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 06:36 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Jonny540Laylik, Последние строки так: Код: xml 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 07:06 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Jonny540Jonny540Laylik, Последние строки так: Код: xml 1. 2. 3. 4. 5.
т.к. есть подозрение, что программа запускается все-таки из фокса и еще, как советовал проходящий.SELECT ... INTO CURSOR заказы_февраль BROWSE ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 09:14 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Внутри команды Select-SQL в среде FoxPro совершенно без разницы как писать Код: sql 1.
или Код: sql 1.
Это вопрос исключительно личных предпочтений. Однако если одновременно приходится работать в нескольких средах программирования, то, как правило, выбирается стиль общий для всех используемых сред. А это как раз первый вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 10:52 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
ВладимирМВнутри команды Select-SQL в среде FoxPro совершенно без разницы как писать Спасибо, не знал, но в VFP6 первый вариант не работает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 11:57 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Jonny540ВладимирМВнутри команды Select-SQL в среде FoxPro совершенно без разницы как писать Спасибо, не знал, но в VFP6 первый вариант не работает :( HELP Select-SQL FoxPro for DOS 2.0 Формат: <поле> [NOT] BETWEEN <начало> AND <конец> Пример: customer.taxrate BETWEEN 5.50 AND 6.00 Проверка на то, что <поле> имеет значение в заданном диапазоне. Т.е. такой синтаксис работал во ВСЕХ версиях FoxPro без исключения. Если у Вас не работает, то ищите ошибку в синтаксисе. Что-то Вы не так написали... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 17:54 |
|
Вывод даты с помощью оператора Between
|
|||
---|---|---|---|
#18+
Jonny540, а можно ли поставить дату как-то в интерфейс проги? и как это сделать? подскажите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2012, 15:36 |
|
|
start [/forum/topic.php?fid=41&msg=37738764&tid=1583636]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 459ms |
0 / 0 |