Vvmebel.com

Новости с мира ПК
11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Функции преобразования даты в 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, зависит от аргумента выражение.

Читать еще:  Как создать гиперссылку в powerpoint

Тот же диапазон, что и 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).

Читать еще:  Access based enumeration

Специальные форматы выводятся в соответствии со значениями, установленными в диалоговом окне Язык и стандарты (панель управления 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 сообщать вам о вводе неверной даты. Для этого выполните следующие шаги.

      Читать еще:  Visual basic 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]

            Ссылка на основную публикацию
            Adblock
            detector