Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
1

Замена даты в запросе

31.05.2017, 20:02. Показов 733. Ответов 15
Метки нет (Все метки)

Здравствуйте! Подскажите, возможно ли сделать в запросе возможность чтобы постоянно (ежемесячно) не изменять даты? К примеру, оставить день и год, а месяц менялся автоматически?

>#01.04.2017# And <#30.04.2017#

Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2017, 20:02
Ответы с готовыми решениями:

Как сделать выборку периода даты в запросе с вычислением от запрошенной даты
Доброго времени суток! Есть форма, есть подчинённая форма, при запуске формы запрашивается...

Как в базе данных, в запросе сделать так, чтобы пользователь вводил даты, и если такой даты нету, то выводило окно "тако
Как в базе данных, в запросе сделать так, чтобы пользователь вводил даты, и если такой даты нету,...

Формат даты в запросе
Создал запрос SELECT ts.gosnomer, AVG(pytlist.kilometr) as Средний_пробег, spidometr,(select...

Преобразование даты в SQL запросе
В БД есть две таблицы. В первой таблице поля &quot;дата&quot; (дд.мм.гггг) и &quot;время&quot; (мм:чч:сс) разделены, а...

__________________
15
Заблокирован
31.05.2017, 20:07 2
Цитата Сообщение от Павел2212 Посмотреть сообщение
Подскажите, возможно ли сделать в запросе возможность чтобы постоянно (ежемесячно) не изменять даты? К примеру, оставить день и год, а месяц менялся автоматически?
В запросе можно через процедурку изменения его тела.
Но гораздо проще сделать как все - использовать формочку с полями "с" и "по" - и будет всё красивенько и хорошо.
1
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
31.05.2017, 20:16  [ТС] 3
Eugene-LS, если вам не трудно можно подробнее? Я если честно не очень
0
Заблокирован
31.05.2017, 20:22 4
Цитата Сообщение от Павел2212 Посмотреть сообщение
сли вам не трудно можно подробнее?
Да всё элементарно, и так все делают.
Форма с инфо. нагрузкой или без - там два поля с датами "с" и "по" - которые изначально выставляем как хотим.
Рядом кнопка которая делает то что нам нужно с учётом выставленных дат. Выводит отчёт например, или фильтрует данные ...
1
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
31.05.2017, 20:42  [ТС] 5
Eugene-LS, А как выставить даты?
0
Заблокирован
31.05.2017, 20:56 6
Цитата Сообщение от Павел2212 Посмотреть сообщение
А как выставить даты?
В форме?
... ну несколько вариантов...

А какие даты выставляем по умолчанию?

Добавлено через 1 минуту
Можно тупо поставить значение по умолчанию полей = Date()

Добавлено через 1 минуту
Можно хитрее, и с заданным диапазоном при загрузке формы ....

Добавлено через 1 минуту
Хотя... вам это скорее всего не нужно совсем.
Не будем усложнять задачу.

Кстати я макросы пока не освоил.
Уж извините.
1
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
31.05.2017, 20:58  [ТС] 7
Eugene-LS, у меня стоит полный формат даты , к примеру 12.02.2017 15:40:04
0
Заблокирован
31.05.2017, 21:06 8
Цитата Сообщение от Павел2212 Посмотреть сообщение
у меня стоит полный формат даты , к примеру 12.02.2017 15:40:04
У вам нужно со временем - тогда лучше с точностью до тысячных долей секунд и пользователю будет веселее как то ...


Это должно пригодится:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Function MonthFirstLastDay(dCurDate As Date, Optional bLastDay As Boolean = False, Optional iMonthPlus As Integer = 0) As Date
'Возвращает дату на первое или последнее число текущего месяца
'Аргументы:
'    dCurDate    - Дата относительно которой производится расчёт
'    bLastDay    - на последний день месяца если = True - иначе на первый
'    iMonthPlus  - плюсовка месяца относительно указанной даты (может быть минусовым значением)
'----------------------------------------------------------
Dim nDate As Date
 
    If iMonthPlus <> 0 Then
        nDate = DateAdd("m", iMonthPlus, dCurDate)
    Else
        nDate = dCurDate
    End If
    
    If bLastDay = True Then
        MonthFirstLastDay = nDate - 1 ' Последнее число месяца
    Else
        MonthFirstLastDay = DateAdd("d", 1, nDate) ' Первое число месяца
    End If
 
 
    If bLastDay = True Then
        MonthFirstLastDay = DateSerial(Year(nDate), Month(nDate) + 1, 1) - 1
    Else
        MonthFirstLastDay = DateSerial(Year(nDate), Month(nDate), 1)
    End If
 
End Function
1
Модератор
Эксперт MS Access
10043 / 4057 / 654
Регистрация: 07.08.2010
Сообщений: 11,385
Записей в блоге: 3
31.05.2017, 21:09 9
Цитата Сообщение от Павел2212 Посмотреть сообщение
Здравствуйте! Подскажите, возможно ли сделать в запросе возможность чтобы постоянно (ежемесячно) не изменять даты? К примеру, оставить день и год, а месяц менялся автоматически?
это не в запросе надо делать, а создать форму с парой полей для указания интервала дат и кнопки для формирования параметров запроса и отчета
1
Заблокирован
31.05.2017, 21:12 10
Я так и не понял, с точностью до тысячных долей секунды вас устроит или нет?

Добавлено через 2 минуты
Цитата Сообщение от shanemac51 Посмотреть сообщение
это не в запросе надо делать, а создать форму с парой полей для указания интервала дат и кнопки для формирования отчета
Уважаемая shanemac51, вы повторили мой пост - который чутка выше ....
1
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
31.05.2017, 21:13  [ТС] 11
Нет
0
Заблокирован
31.05.2017, 21:14 12
Павел2212, так до тысячных или до миллионных?
(До миллиардных увы нельзя)
1
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 135
31.05.2017, 21:17  [ТС] 13
Eugene-LS, Спасибо! но не стоит...
0
Заблокирован
31.05.2017, 21:21 14
Цитата Сообщение от Павел2212 Посмотреть сообщение
Спасибо! но не стоит...
Уф-ф--ф-ф!
Ну тогда всё будет просто!

Добавлено через 2 минуты
Visual Basic
1
2
3
Private Sub Form_Current()
'Тут установка полей даты 
End Sub
Можно использовать функцию выше
1
Модератор
Эксперт MS Access
3400 / 1887 / 465
Регистрация: 12.06.2016
Сообщений: 4,811
31.05.2017, 21:30 15
Павел2212,

Если в запросе требуется определять принадлежность даты текущему месяцу, то
SQL
1
WHERE Format(дата,"yyyymm")=Format(DATE(),"yyyymm")
1
Заблокирован
31.05.2017, 21:38 16
Цитата Сообщение от Capi Посмотреть сообщение
Если в запросе требуется определять принадлежность даты текущему месяцу, то
Ну как всегда - мы тут космический аппарат почти построили ...
Пришла добрая Capi, и выдвинула свой надёжный паровоз ...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2017, 21:38

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Автоматическое заполнение даты в запросе
Здравствуйте. Если видели мои посты ранее, то вымучил я отчет, делает его читабельным. Теперь...

Изменение формата даты в запросе
Добый день. Подскажите пожалуйста, стоит следующая задача: Из имеющихся данных - организация,...

Ошибка в запросе(сравнение даты)
Здравствуйте, я имею БД(картинка). Я делаю запрос на выбор элементов. Всё было нормально, пока я не...

Вычитание из даты количества месяцев в запросе
Здравствуйте! У меня такая ситуация. Делаю запрос в Access Есть два поля: в одном Конечная Дата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.