Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993

Поле с типом данных - Дата/Время (квартал года)

23.04.2013, 17:07. Показов 6334. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сдравствуйте. Подскажите, пожалуйста есть ли в Access, такая возможность?
Чтобы при вводе в поле с типом данных - Дата/Время - № квартала и год - к примеру - 2.13 - получалось значение в поле - 2 кв. 2013.
Самостоятельно что то не нашел. Если это возможно напишите как будет выглядеть формат и маска ввода.
Заранее благодарен.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2013, 17:07
Ответы с готовыми решениями:

Вывести текущую дату, время, год,квартал, месяц,день года
Я использовала вот такой способ.а как еще можно? Private Sub CommandButton1_Click() Range("C2").Formula = Format(Now,...

Ошибка с типом время дата
procedure TForm5.Button1Click(Sender: TObject); var k:integer; a,b:boolean; begin a:=false; b:=true; form1.ADOTable1.Append; ...

Использование функций для работы с типом дата/время
Разобрать на отдельные составляющие текущую дату и время и вывести значения на экран в следующем порядке (вместо многоточий): ...

32
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.04.2013, 17:18
Цитата Сообщение от kmv-puh Посмотреть сообщение
Чтобы при вводе в поле с типом данных - Дата/Время - № квартала и год - к примеру - 2.13 - получалось значение в поле - 2 кв. 2013.
kmv-puh, вы же пишете о датном поле. У него есть еще день и месяц, как их задавать? Какие значения значения они должны получить?

По сабжу (но не буквально из-за непонимания ТЗ)
Visual Basic
1
2
?datepart("q",date) & "." & format(date,"yy")
2.13
1
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
23.04.2013, 18:13  [ТС]
Уважаемый - mobile - в том то и вопрос состоит, что день и месяц не играют ни какого значения, важны только № квартала в году и сам год., а день и месяц не должны отображаться совсем, т. к. есть огромная таблица, - не Access. где имеются даты, их кому не лень писали как кому хотелось. Хочу перевести ее в Access и упорядочить в таком виде, как написал. Будет не просто, но трудностей не боимся.
Просто это нужно для ускоренного и упрощенного ввода
С днем и меняцем я и сам могу - если вы это имели в виду.
Спасибо.

Добавлено через 44 минуты
Уважаемый - mobile - попробовал ваш пример, в процедуре - после обновления, Access сильно ругается.
Это я торможу или мы что то др. др. не поняли?
Возможно ли в принципе такое?
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
23.04.2013, 18:33
Цитата Сообщение от kmv-puh Посмотреть сообщение
.. трудностей не боимся.
Мы сами их создаем, а затем героически преодолеваем.

Сделайте поле числового типа (Целое), маска ввода "0.00".

Если настаиваете на поле типа дата/время, то аргументируйте.

Добавлено через 11 минут
Цитата Сообщение от minob Посмотреть сообщение
Сделайте поле числового типа (Целое), маска ввода "0.00".
Ошибся, нужно поле числового типа (Длинное целое), маска ввода
0" кв. "0000
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 03:28
Цитата Сообщение от kmv-puh Посмотреть сообщение
что день и месяц не играют ни какого значения, важны только № квартала в году и сам год., а день и месяц не должны отображаться совсем,
Ну и не отображайте. При чём тут тип поля в таблице?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 03:34
Например
Вложения
Тип файла: rar 11.rar (12.2 Кб, 31 просмотров)
1
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 07:50  [ТС]
minob - Ваш вариант с числовым полем и маской ввода (0" кв. "0000) мне полностью подходит, ни какой принципиальной разницы нет, как я сам не додумался? Просто думал что есть такой формат, вот и спросил.
Большое вам спасибо.

Добавлено через 10 минут
Просто зациклился, что если даты, ио и формат должен быть Дата/время

Добавлено через 5 минут
Цитата Сообщение от alvk Посмотреть сообщение
Например
alvk - А что вы подразумевали своим примером БД - 11, я что то не понял? Там данные можно ввести только в таблице, а в форме уже ни чего изменить нельзя.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 09:31
Цитата Сообщение от kmv-puh Посмотреть сообщение
Там данные можно ввести только в таблице, а в форме уже ни чего изменить нельзя.
Цитата Сообщение от alvk Посмотреть сообщение
Ну и не отображайте.
p.s. мне можно ничего не писать? раз всё-равно не читают.
0
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 09:36  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
p.s. мне можно ничего не писать? раз всё-равно не читают.
alvk - Извиняюсь, что то я недоперепонял, что вы этим хотели сказать , как то туманно.
Кто и чего не читает?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 09:40
Вы спросили, как отобразить "2 кв. 13", я показал. "Отобразить", а не "ввести" ! Вводят обычно дату, а не её производные. Что-то туманное ещё осталось?
0
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 09:50  [ТС]
Цитата Сообщение от kmv-puh Посмотреть сообщение
С...есть ли в Access, такая возможность?
Чтобы при вводе в поле с типом данных - Дата/Время - № квартала и год - к примеру - 2.13 - получалось значение в поле - 2 кв. 2013....
alvk - эдесь я прямо указал что при вводе...
и дальше в процессе выяснили, что именно требуется
Просто зациклился, что если Дата, то и формат должен быть Дата/время, просто вы возмодно не с самого начала до конца читаете переписку.
Не дуйтесь, ставлю вам + за то что тоже откликнулись и не проигнорировали вопрос, часто интересны несколько вариантов решения.
С уважением - kmv-puh
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 09:59
Вы вводите в поле дату, а в нужном поле у вас получается ваш квартал. Вообще было бы неплохо, если бы вы изначально рассказали, что вам нужно сделать, почему нужно вводить 2.13, а не скажем 01.04.2013. А если поле текстовое, то почему 2.13, а не 2 кв. 13 ?
1
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 10:10  [ТС]
alvk - Извиняюсь, но опять повторяю Вам (Без обид), что вы не всегда полностью читаете вопрос или не всю переписку по теме, возможно и я чего неточно его сформулировал, потом в процессе разобрались, что да как.
Дело было так -
... - № квартала и год - к примеру - 2.13 - ...
2 это № кватрала, 13 это 2013 год. , если 3.15, то это 3 квартал 2015 гюда и.т.д. и т. п.
minob - уже подсказал мысль, что не обязательно Тип данных должен быть - Дата/время, а можно сделать и цифровым, что для меня не принципиально.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.04.2013, 10:54
kmv-puh, если могут понадобиться отдельно квартал или год, то лучше хранить их в разных полях. Операция слияния намного производительней операции разделения. Один раз разделить и записать в разных полях, а потом много раз пользоваться как отдельными атрибутами, так и их конкатенацией это эффективней (проще, быстрее), чем каждый раз прибегать к более сложной и медленной операции разделения атрибутов.
1
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
24.04.2013, 12:30
Цитата Сообщение от mobile Посмотреть сообщение
kmv-puh, если могут понадобиться отдельно квартал или год, то лучше хранить их в разных полях. Операция слияния намного производительней операции разделения. Один раз разделить и записать в разных полях, а потом много раз пользоваться как отдельными атрибутами, так и их конкатенацией это эффективней (проще, быстрее), чем каждый раз прибегать к более сложной и медленной операции разделения атрибутов.
Следуя такой логике, получается, что и дату+время лучше хранить не в одном датном поле, а в 6-ти полях.

В данном случае для получения квартала или года достаточно одной целочисленной операции:
квартал - Поле \ 10000
год - Поле Mod 10000
в отличие от датных полей, где для извлечения компонента даты/времени нужно применить функцию.

Если сравнивать производительность конкатенации и целочисленной операции, то, думаю, что у целочисленной операции она выше.

Добавлено через 19 минут
Цитата Сообщение от minob Посмотреть сообщение
... а в 6-ти полях...
Уточнение
... а в 6-ти числовых полях...
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.04.2013, 13:23
Цитата Сообщение от minob Посмотреть сообщение
Следуя такой логике, получается, что и дату+время лучше хранить не в одном датном поле, а в 6-ти полях.
А почему бы и нет? Если из всей даты в задаче требуется только год и месяц, то хранят год и месяц по отдельности. Но когда требуются разнообразные операции с датой или сама дата, то хранят дату.

Цитата Сообщение от minob Посмотреть сообщение
Если сравнивать производительность конкатенации и целочисленной операции, то, думаю, что у целочисленной операции она выше.
Это так. Но когда в работе используются отдельные части, то, при хранении в разных полях, вообще никакой операции не потребуется.
1
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 14:47  [ТС]
Спасибо всем, думаю все варианты в жизни пригодятся, каждый метод хорошь по своему для каждой конкретной задачи.
Обычно я правда стараюсь по возможности разбивать данные на сколько это возможно.
С уважением ко всем не безразличным к вопросам страждущих.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
24.04.2013, 15:49
Цитата Сообщение от minob Посмотреть сообщение
... а в 6-ти числовых полях...
тогда уж в 7-ми
0
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
24.04.2013, 16:28  [ТС]
Цитата Сообщение от kmv-puh Посмотреть сообщение
...Обычно я правда стараюсь по возможности разбивать данные на сколько это возможно....
Само собой подразумевается текст, а не дата и время

Добавлено через 10 минут
Хотя считаю, что в некоторых случаях разбивать, дату, месяц, год тоже можно, к примеру для сортировки, т. к. при сортировке по возрастанию дат в формате к примеру - 01.11.12 и. т. п. сначала идет дата, потом мес. а потом год
Получается так:
02.03.11
03.01.15
05.05.05
12.05.11
и т. д., прежде чем упорядочишь или отсортируешь намучаешся. А если нужно по месяцу?
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
24.04.2013, 17:17
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от mobile Посмотреть сообщение
Если из всей даты в задаче требуется только год и месяц, то хранят год и месяц по отдельности.
Прочел и почувствовал себя белой вороной. Но потом вспомнился топик "Кто, как хранит даты" на форуме-конкуренте. В топике, где-то начиная со средины предпоследней страницы, обсуждается хранение год + месяц Освежил в памяти его содержание и наваждение исчезло.
Цитата Сообщение от mobile Посмотреть сообщение
Это так. Но когда в работе используются отдельные части, то, при хранении в разных полях, вообще никакой операции не потребуется.
Вы забыли упомянуть об обратной операции объединения, когда при раздельном хранении потребуется конкатенация.

Добавлено через 7 минут
Цитата Сообщение от kmv-puh Посмотреть сообщение
Хотя считаю, что в некоторых случаях разбивать, дату, месяц, год тоже можно, к примеру для сортировки, т. к. при сортировке по возрастанию дат в формате к примеру - 01.11.12 и. т. п. сначала идет дата, потом мес. а потом год
Получается так:
02.03.11
03.01.15
05.05.05
12.05.11
и т. д., прежде чем упорядочишь или отсортируешь намучаешся. А если нужно по месяцу?
А кто вас заставляет сортировать по текстовому представлению даты? Сортируйте по дате и никаких мучений.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.04.2013, 17:17
Помогаю со студенческими работами здесь

Запрет на установление года в поле дата
Доброго времени суток. Помогите реализовать следующую функцию. На форме документа имеется поле с типом дата. При выборе любой даты в...

поле дата и время
есть поле, в которое вводится наработка аппаратуры в часах и минутах, суммирую это поле результат выдается в сутках, как сделать чтобы...

БД Access и поле - дата/время
Как вывести нормально время из БД ? Имеется запись : хх.хх.хххх - в БД. При выводе же выдает дату в формате : <месяц прописными>...

Поле ввода с типом "Дата"
Ребят выручайте, все перепробовал не робит ( короче есть ПолеВвода с типом Дата нужно отформатировать отображение даты, чтобы было...

Пустое поле дата/время в Access
Как сделать, чтобы база Access, при загрузке данных из ASP глотала пустые поля дата/время? У меня в таблице 10 таких полей, и не все из них...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru