Модераторы: Akina

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Запрос с датами 
:(
    Опции темы
Loser
Дата 17.10.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Здраствуйте.
Помогите пожалуйста написать запрос выводящий даные о покупках за послдний месяц, неделю...
С MS Access раньше не работал, а вот сейчас нужно написать приложение с его использованием.
Нужно ли использовать подзапросы?
PM MAIL   Вверх
Akina
Дата 17.10.2007, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



1) Подзапросы не нужны
2) С датами можно работать как с числами - в частности вычитать. Кроме того, есть целый набор функций работы с датами - DateAdd, DateDiff
3) Никого не интересует, работали Вы раньше с Аксессом или нет. Делайте. Читайте справку, книги, е-курсы... и делайте. Мы поможем устранить огрехи и заставить код работать как надо. Но никто не будет делать ЗА ВАС


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Loser
Дата 17.10.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Покажите хотябы пример работы функции DateDiff...
Без подзапроса вообще не пойму как это сделать.
PM MAIL   Вверх
Akina
Дата 17.10.2007, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Loser @  17.10.2007,  22:16 Найти цитируемый пост)
Покажите хотябы пример работы функции DateDiff...

А чем Вас не удовлетворил пример, приведенный во встроенной справке MS Access?  по-моему, все вполне доходчиво и понятно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 18.10.2007, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



В критерии отбора напиши для поля даты >=|начальная дата интересующего периода| And <=|конечная дата интересующего периода|


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Akina
Дата 18.10.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(kapbepucm @  18.10.2007,  08:48 Найти цитируемый пост)
В критерии отбора напиши для поля даты >=|начальная дата интересующего периода| And <=|конечная дата интересующего периода|

Вообще-то существует специальное between ... and ...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 18.10.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Если говорить о нормальном приложении, то этот запрос я бы делал так (варианты): 
1. Запрос формировать программно, на основании запроса пользователя. Результат записывал бы в отдельную таблицу.

2. Запрос выбирает все данные. При открытии отчета/формы накладывается фильтр по датам.
PM MAIL WWW ICQ Skype GTalk   Вверх
Loser
Дата 18.10.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Akina, как я понимаю функции ужно указывать в блоке select?

Вот например запрос выбирающий заказы сегодняшние: 
select ... from ... where orders and date=(select distinc now() from orders)

Или  я что то не понимаю?
PM MAIL   Вверх
Akina
Дата 18.10.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Loser @  18.10.2007,  11:44 Найти цитируемый пост)
Или  я что то не понимаю?

Вы просто не знаете, похоже, даже основ T-SQL, поэтому пишете синтаксически неверные конструкции. Потратьте пару часов на изучение, и бОльшая часть вопросов отпадет сама собой.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Loser
Дата 21.10.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



Сделал при помощи DateAdd.
Можете закрыть
PM MAIL   Вверх
etc
Дата 23.10.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


FCZ
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.2.2005
Где: Красногорск

Репутация: нет
Всего: 3



У меня вот тоже маленькая проблема с датами. Делаю Запрос на выборку

Код

SELECT * FROM остатки WHERE остатки.НАДАТУ = DateValue([23.10.2007]);

И выдает сообщение типа: Недопустимое имя ". Проверьте что оно не содержит не допустимые символы и т.п.
Как только эту дату не пытался коверкать, никак не выходит. Как можно решить это?
PM WWW ICQ   Вверх
Akina
Дата 23.10.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



А с каких это пор литералы стали брать в квадратные скобки??? есссно движок фигеет, пытаясь найти в таблице [остатки] поле по имени [23.10.2007].

Правильно так:
Код

SELECT * FROM [остатки] WHERE [остатки].[НАДАТУ] = DateValue("23.10.2007");




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 23.10.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Формат даты в предложении SQL (MS Access) #mm/dd/yyyy hh:mm:ss#. Дату в строковом формате движок будет преобразовывать к типу дата. Есть так же спец. фукнции для преобразования к типу дата CDate().
PM MAIL WWW ICQ Skype GTalk   Вверх
etc
Дата 23.10.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


FCZ
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.2.2005
Где: Красногорск

Репутация: нет
Всего: 3



Akina, В таком варианте он тоже фигеет.
bopoha, А как можно работать с датой вида 23.10.2007 ? Или как её можно преоброзовать в нужный формат?
PM WWW ICQ   Вверх
Akina
Дата 23.10.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(etc @  23.10.2007,  20:54 Найти цитируемый пост)
В таком варианте он тоже фигеет.

У меня работает - см. аттач. Таблица, запрос в конструкторе и SQL, результат работы запроса.
Может, дело-то не в запросе?

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  1.GIF 23,10 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.2355 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.