Функции преобразования даты в access
Преобразование данных из даты в число или наоборот
Возникла проблема:
из экселя в базу аксесс загружается таблица, в которой есть столбец с датами. При загрузке создается автоматически связанная таблица в которой даты в числовом формате.
Над таблицей делается некий набор операций (подтягиваются данные в другие таблицы, производятся небольшие расчеты и т.д.), после чего таблица удаляется. Среди операций — открытие ADO рекордсета на основе SQL запроса с информацией о том, сколько каких дат есть в этой таблице.
Код открытия рекордсета с текстом запроса:
Далее, на основании данных открытого рекордсета нужно сравнить кол-ва каждой даты с такими же данными из другой таблицы на предмет совпадения количества и наличия дат. Вот тут и загвоздка: в другой таблице даты в формате даты
Вижу два выхода из сложившейся ситуации (как реализовать какой-либо — не знаю ):
Первый (мне кажется, более предпочтительный): при создании рекордсета на основании связанной таблицы задать нужный формат поля с датами. Пробовал так (не работает):
Второй: при переборе дат, при поиске нужной записи, просто изменять формат даты на числовой в таблице, в которой делаю сверку с рекордсетом (присваивать значение переменной и по ней уже искать в рекордсете).
Оговорюсь, что сверку я вклиниваю в перебор дат в таблице, поэтому сделать наоборот, и менять каждое число на дату не получится, перебираются именно даты.
Склонен считать, что проблема пустяшная и я просто замылил мозг уже, но тем не менее, прошу помощи
Заранее спасибо за советы.
Преобразование строки в число и наоборот
Привет. Пишу проект в Win32 Console Aplication, столкнулся с проблемой преобразования чисел в.
Формат даты и времени. В чем храниться дата и как число приобразовывать в дату (и наоборот)
Добрый вечер всем. в общем появилась необходимость сделать так что бы например если человек.
Преобразование даты в число C++
Добрый день! Имеется таблица с данными, в одной колонке даты в формате dd.mm.yyyy, а в другой.
Преобразование даты в число
Здравствуйте! Не подскажите как решить такую задачу: Есть дата рождения, необходимо её.
Казалось, чего проще, выполнять Правила раздела, нет, ТС час будет «переливать из пустого в порожнее. «
Как строить запрос на связанной таблице я понимаю. Во вложении — пример из базы, которую делаю. Для удобства я просто создал 2 таблицы: Seq и План. Надо сравнить количество каждой даты в Seq с планом на каждую дату в таблице План. Мне нужно это сделать в VBA.
запуск —это дата, число порядка 40000
seq ——непонятно , что с ним надо делать(80000), похоже на счетчик
Решение
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Преобразование даты число/число в Число/Текст
Подскажите пожалуйста массив может содержать два типа даты день/месяц(число/число) или.
Преобразование даты из слов в число
Собственно сабж, имеется переменная: $dater = ‘9 сентября 2016’; //может быть разные день и месяц.
Является ли число a делителем числа b или, наоборот
Здравствуйте )кому не составит труда помогите решить задачи . надеюсь кто то откликнется на мою.
Проблема с датой в запросе или преобразование даты в правильынй вид
‘ имеем IIS-5(rus); базу MS-Access2000(rus) ‘ Получаем данные из формы ASP: ‘ fordat — ‘с даты’ в.
Функции преобразования типа
Каждая функция приводит выражение к определенному тип данных.
Обязательный аргумент выражениеАргумент — это любое строковое выражение или числовое выражение.
Тип возвращаемого значения определяется по имени функции в соответствии со следующей таблицей:
Тип возвращаемого значения
Диапазон аргумента выражение
Любое допустимое строковое или числовое выражение.
От -922 337 203 685 477,5808 до 922 337 203 685 477,5807.
Любое допустимое выражение даты.
От -1,79769313486231E308 до
-4,94065645841247E-324 для отрицательных значений и от 4,94065645841247E-324 до 1,79769313486232E308 для положительных.
+/-79 228 162 514 264 337 593 543 950 335 для чисел без дробной части. Для чисел с 28 десятичными знаками допустимый диапазон составляет
+/-7,9228162514264337593543950335. Наименьшее допустимое ненулевое число — 0,0000000000000000000000000001.
От -32 768 до 32 767, дробная часть округляется.
От -2 147 483 648 до 2 147 483 647, дробная часть округляется.
От -3,402823E38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,402823E38 для положительных.
Результат, возвращаемый функцией CStr, зависит от аргумента выражение.
Тот же диапазон, что и Double для чисел. Тот же диапазон, что и в качестве строки для нечисловых значений.
Если передаваемое функции выражение находится за пределами диапазона типа данных, в который оно преобразуется, возникает ошибка.
Как правило, функции преобразования типов используются в тексте программ для того, чтобы указать, что результатом той или иной операции должны стать данные определенного типа, а не типа, заданного по умолчанию. Например, с помощью функции CCur можно принудительно перейти к вычислениям в денежном формате в тех случаях, в которых обычно используются действия с числами с обычной точностью, двойной точностью или с целыми числами.
Функции преобразования типа данных следует использовать вместо функции Val для преобразования типов данных в приложениях, поддерживающих различные региональные стандарты. Например, при использовании функции CCur десятичные разделители, разделители групп разрядов и параметры денежных единиц распознаются в соответствии с языковыми и региональными параметрами компьютера.
Если дробная часть целого числа строго равна 0,5, функции CInt и CLng всегда округляют результат до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 — до 2. В отличие от функций CInt и CLng, в функциях Fix и Int дробная часть не округляется, а отбрасывается. Кроме того, функции Fix и Int всегда возвращают значение того же типа, что и переданное им выражение.
Для определения возможности преобразования даты в дату или время используется функция IsDate. Функция CDate распознает литералы даты и времени, а также некоторые числа, которые находятся в диапазоне допустимых дат. При преобразовании числа в дату преобразуется целая часть числа. Дробная часть преобразуется во время суток, начиная с полуночи.
Функция CDate распознает форматы даты в соответствии с параметрами языковые стандарты системы. Правильное определение дня, месяца и года может быть недоступно, если оно предоставляется в формате, отличном от одного из распознаваемых параметров даты. Кроме того, не удается распознать длинный формат даты, если он содержит строку дня недели.
Функция CVDate предназначена для обеспечения совместимости с предыдущими версиями Visual Basic. Синтаксис функции CVDate идентичен синтаксису функции CDate, однако функция CVDate возвращает не результат типа Date, а результат типа Variant с подтипом Date. Поскольку теперь реализован встроенный тип Date, необходимость в функции CVDate отпадает. Того же результата можно добиться, преобразовав выражение в тип Date и присвоив это значение переменной типа Variant. Этот способ позволяет преобразовать все прочие встроенные типы в эквивалентные им подтипы Variant.
Примечание: Функция CDec не возвращает отдельный тип данных. Вместо этого она всегда возвращает результат типа Variant, значение которого преобразовано в подтип Decimal.
Функции преобразования даты в access
Свойство «Формат поля» (Format) — Поля даты/времени
Свойство Формат поля (Format) позволяет указать использование встроенных или специальных форматов для полей даты/времени.
Значение
Встроенные форматы
В следующей таблице приводятся встроенные значения свойства Формат поля (Format) для полей даты/времени.
Значение Описание
Полный формат даты (Значение по умолчанию.) Если значение содержит только дату, то время не отображается; если значение содержит только время, то дата не отображается. Данный формат является комбинацией двух: «Краткий формат даты» и «Длинный формат времени».
Примеры: 01.11.95 1:07:19 и 23.01.96 23:01:04.
Длинный формат даты Совпадает с настройкой «Полный формат», задающейся в диалоговом окне Язык и стандарты (панель управления Microsoft Windows).
Пример: 1 Июнь 1995 г.
Средний формат даты Пример: 03-апр-95.
Краткий формат даты Совпадает с настройкой «Краткий формат», задающейся в диалоговом окне Язык и стандарты (панель управления Microsoft Windows).
Пример: 11.06.95.
Внимание! При использовании значения краткого формата даты предполагается, что даты из диапазона 01.01.00 и 31.12.29 относятся к двадцать первому веку (то есть от 2000 до 2029 года). Также предполагается, что даты из промежутка 01.01.30 и 31.12.99 относятся к двадцатому веку (то есть от 1930 до 1999 года).
Длинный формат времени Совпадает с форматом времени, заданном на вкладке Время (панель управления Microsoft Windows, диалоговое окно Язык и стандарты).
Пример: 20:58:10.
Средний формат времени Пример: 05:34 PM.
Краткий формат времени Пример: 17:34.
Специальные форматы
Специальные форматы даты и времени создаются с помощью следующих символов.
Символ Описание
: (двоеточие) Разделитель компонентов времени. Знак разделителя задается в диалоговом окне Язык и стандарты (панель управления Microsoft Windows).
/ Разделитель компонентов даты.
c Задает встроенный «Полный формат даты».
d Номер дня месяца, состоящий из одной или двух цифр (1-31).
dd Номер дня месяца, состоящий из двух цифр (01-31).
ddd Сокращенное название дня недели (Пн-Вс).
dddd Полное название дня недели (понедельник-воскресенье).
ddddd Задает встроенный «Краткий формат даты».
dddddd Задает встроенный «Длинный формат даты».
w Номер дня недели (1-7).
ww Номер недели в году (1-53).
m Номер месяца, состоящий из одной или двух цифр (1-12).
mm Номер месяца, состоящий из двух цифр (01-12).
mmm Первые три буквы названия месяца (янв-дек).
mmmm Полное название месяца (Январь-Декабрь).
q Номер квартала в году (1-4).
y Номер дня в году (1-366).
yy Последние две цифры номера года (01-99).
yyyy Полный номер года (0100-9999).
h Число часов, состоящее из одной или двух цифр (0-23).
hh Число часов, состоящее из двух цифр (00-23).
n Число минут, состоящее из одной или двух цифр (0-59).
nn Число минут, состоящее из двух цифр (00-59).
s Число секунд, состоящее из одной или двух цифр (0-59).
ss Число секунд, состоящее из двух цифр (00-59).
ttttt Задает встроенный «Длинный формат времени».
AM/PM 12-часовой формат времени с добавлением прописных букв «AM» или «PM».
am/pm 12-часовой формат времени с добавлением строчных букв «am» или «pm».
A/P 12-часовой формат времени с добавлением прописных букв «A» или «P».
a/p 12-часовой формат времени с добавлением строчных букв «a» или «p».
AMPM 12-часовой формат времени; используется индикатор «утро/день», выбранный в диалоговом окне Язык и стандарты (панель управления Microsoft Windows).
Специальные форматы выводятся в соответствии со значениями, установленными в диалоговом окне Язык и стандарты (панель управления Microsoft Windows). Специальные форматы, противоречащие настройкам диалогового окна Язык и стандарты, игнорируются.
Примечание. Для добавления в специальный формат запятой или другого знака разделителя следует ввести этот знак в кавычках: mmm d», «yyyy.
Пример
Ниже приведены примеры специальных форматов даты и времени.
Значение Вид на экране
ddd», «mmm d», «yyyy Пн, июн 2, 1997
mmmm dd», «yyyy Июнь 02, 1997
«Номер текущей недели — «ww Номер текущей недели — 22
«Сегодня «dddd Сегодня четверг
Функции преобразования даты в access
Упражнение 6. Параметры поля
Для того, чтобы обеспечить возможность хранения в базе данных разнообразной информации, Access предлагает большой набор типов данных, перечисленных в табл. 16.1.
ТАБЛИЦА 16.1 . Типы данных
Текст длиной до 255 символов
Текст длиной до 65 000 символов
Числа различных форматов
Дата и/или время
Денежные значения различных форматов
Счетчик, который автоматически увеличивается на единицу с добавлением каждой новой записи
Величины, способные принимать только два значения: да/нет или 1/0
Поле объекта OLE (OLE Object)
Поля, позволяющие вставлять рисунки, звуки и данные других типов
Ссылки, дающие возможность открывать объект Access (таблицу, форму, запрос и т. п.), файл другого приложения или web-страницу
Чтобы сделать работу со списком контактов более продуктивной, следует изменить типы данных некоторых полей.
В окне базы данных выделите таблицу Список и щелкните на кнопке Конструктор (Design), расположенной в верхней части окна. Выбранная таблица откроется в режиме конструктора.
Описание контакта может быть достаточно длинным, а максимальная длина текстовых полей ограничена 256 символами. Поэтому измените тип поля Описание на Поле MEMO.
Щелкните на поле Дата.
Для удобства прочтения даты контакта измените 4юрмат ее отображения, выбрав в раскрывающемся списке Формат поля (Format) пункт Длинный формат даты (Long Date), как показано на рис. 16.14.
Кроме типа данных и формата отображения вкладка Общие (General) окна конструктора позволяет настроить некоторые дополнительные параметры поля, влияющие на способ ввода данных. Параметр Значение по умолчанию (Default Value) задает содержимое поля, которое записывается в новую запись в том случае, если пользователь не ввел в это поле никаких данных. Если вы регулярно обновляете список контактов, то дата контакта чаще всего будет совпадать с текущей датой. Чтобы упростить ввод информации, можно задать текущую дату в качестве значения по умолчанию для поля Дата.
Введите в поле Значение по умолчанию (Default Value) функцию Date(), которая возвращает текущую дату. В некоторых случаях требуется не только задать тип данных поля, но и ограничить его возможные значения некоторым интервалом или более сложным правилом отбора. Такое правило вводится в поле Условие на значение (Validation Rule). Предположим, вы точно знаете, что все контакты, которые будут заноситься в список, состоятся после 1 января 1999 г. Чтобы избежать ошибок, можно заставить Access сообщать вам о вводе неверной даты. Для этого выполните следующие шаги.
В поле Условие на значение щелкните на кнопке построителя выражений. Откроется окно диалога. Для задания условий или значений определенных параметров Access предлагает большой набор математических операций и функций. Построитель выражений помогает ориентироваться во всем многообразии функций Access. Верхнее прокручивающееся поле построителя содержит конструируемое выражение. Его можно изменять как путем непосредственного редактирования текста, так и с помощью других кнопок и списков построителя.
Необходимо, чтобы дата записи была позднее, то есть больше, даты 1 января 1999 г. Поэтому щелкните на кнопке >, чтобы добавить нужное условие.
Теперь нужно указать дату, с которой выполняется сравнение. Дяя этого следует воспользоваться специальной функцией, преобразующей строковую константу в дату в формате Access.
Дважды щелкните на папке Функции (Functions) в левом списке построителя выражений.
Щелкните на папке Встроенные функции (Built-in Function), чтобы вывести список стандартных функций Access.
В среднем списке выберите категорию Дата/время.
Двойным щелчком на имени функции DateValue добавьте ее в поле выражения. Вместо местозаполнителя аргумента «stringexpr» нужно ввести конкретную дату в строковом формате.
В поле выражения щелчком выделите текст «stringexpr», а затем напечатайте «1.1.99».
Щелкните на кнопке ОК.
Рис. 16.15. Параметры поля Дата
В поле Сообщение об ошибке (Validation Text) введите текст Неверная дата, который будет появляться при вводе даты, более ранней, чем 1 января 1999 г. Окончательный набор параметров поля Дата показан на рис. 16.15.
Щелкните на кнопке закрытия окна конструктора. В окне запроса на обновление структуры таблицы щелкните на кнопке Да. По причине добавления условий на значения поля Дата Access запросит о необходимости проверки содержимого этого поля в уже имеющихся записях таблицы. Щелкните на кнопке Нет (No), чтобы не выполнять проверку.
Давайте изучим влияние настроенных параметров на поведение базы данных.
Выделите таблицу Список в окне базы данных и щелкните на кнопке Открыть (Open). Теперь все даты отображаются в длинном формате, а в ячейке Дата в строке новой записи автоматически появляется текущая дата.
Щелкните в ячейке Дата второй строки, измените ее содержимое на 19.11.95 и нажмите клавишу Tab, чтобы перейти к следующему полю. Так как модифицированная дата предшествует 1 января 1999 г., что противоречит настроенному условию, Access не позволит убрать курсор из текущей ячейки и откроет окно сообщения с текстом, введенным вами в поле Сообщение об ошибке конструктора таблицы на шаге 14. Такое сообщение будет появляться до тех пор, пока вы не скорректируете дату.
Функции преобразования даты в access
Никто не знает, как по АДО для Access в СКЛ преобразуется дата в строку и обратно.
По аналогии to_date в Оракл
Спасибо.
← →
Соловьев ( 2003-04-21 13:31 ) [1]
cast не пробовал?
← →
sapsi ( 2003-04-21 13:40 ) [2]
а подробнее можно, что cast делает
← →
Соловьев ( 2003-04-21 13:48 ) [3]
насчет jet не уверен, но на LocalSQL — это так:
.
cast(StringField as Dite) — тип дата
cast(DateField as varchar(25)) — тип строка
.
← →
sniknik ( 2003-04-21 14:09 ) [4]
для jet (из хелпа)
CDate Function Example
This example uses the CDate function to convert a string to a Date. In general, hard-coding dates and times as strings (as shown in this example) is not recommended. Use date literals and time literals, such as #2/12/1969# and #4:45:23 PM#, instead.
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = «February 12, 1969″ » Define date.
MyShortDate = CDate(MyDate) » Convert to Date data type.
MyTime = «4:35:47 PM» » Define time.
MyShortTime = CDate(MyTime) » Convert to Date data type.
CStr Function Example
This example uses the CStr function to convert a numeric value to a String.
Dim MyDouble, MyString
MyDouble = 437.324 » MyDouble is a Double.
MyString = CStr(MyDouble) » MyString contains «437.324».
от себя (я добрый :о) использование
Select CStr(now()) //в строку
Select CDate(CStr(now())) //обратно
← →
sniknik ( 2003-04-21 14:13 ) [5]
вообщето хелп по микрософтскому бейсику (это я к тому что Dim не сработает, если «втупую» пробовать пример хелпа), конструкции из которого jet понимает.
← →
sapsi ( 2003-04-21 15:35 ) [6]