Green-sell.info

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

Access текущая дата

Access текущая дата

Всем день добрый!
Помогите пожалусто.
Пишу SQL запрос для Accessовской базы. Возникла проблема.
Визуально поля даты отображаются у меня вот в таком формате DD/MM/YYYY, а SQL запрос работает вот в таком формате MM/DD/YYYY. Как узнать текущий формат даты в аксесовской базе? Меняется он вообще для SQL или это не зависит от настроек среды компьютера?
В запросе дата всегда будет работать в таком формате DD/MM/YYYY .


Соловьев © ( 2005-01-25 13:34 ) [1]


Sergilov © ( 2005-01-25 13:37 ) [2]

Соловьев. Какие форматы использовать. Что-то я не понимаю. Можно подробнее?


Соловьев © ( 2005-01-25 13:42 ) [3]

не форматы, а параметры.

.
ADOCommand.Commandtext := «insert into table (DocumentDate) values(:p1)»;
ADOCommand.Parameters[0].Value := Date;
.


sniknik © ( 2005-01-25 13:45 ) [4]

тебя тоже не понять. какие форматы. дата это число! (double) какой у него формат? то что ты этим подразумеваеш это форматы отображения и конвертации, чтобы обойти лишние действия и несоответствия различных форматов в различных программах/системах/настройках
> используй параметры


Sergilov © ( 2005-01-25 14:04 ) [5]

не форматы, а параметры.
Что-то я всеравно ничего не пойму. :(( Как мне определить формат даты и в зависимости от форматы даты буду использовать разные запросы.


Johnmen © ( 2005-01-25 14:08 ) [6]

Сникерсни !
А лучше букварь почитай, по работе с базами данных.


sniknik © ( 2005-01-25 14:13 ) [7]

чего тут непонятного? вот попробуй число (к примеру) 38377,5886574074 записать в формате DD/MM/YYYY или MM/DD/YYYY.
как получится, обращайся, помогу сохранить результат в дату.


sniknik © ( 2005-01-25 14:17 ) [8]

о! пришол на ум филосовский вопрос.
имеет ли вода форму(формат) ведра (она же в нем время от времени находится) и если да, то почему тогда ее меряют литрами(другой формат) ведь литра как такового(представления) нет! (есть только тара с емкостью литр) ;о))


Соловьев © ( 2005-01-25 14:18 ) [9]

>Как мне определить формат даты и в зависимости от форматы даты
>буду использовать разные запросы.

Ты что первый? Таких до тебя было много. И поэтому умные люди придумали параметры. Используй их, и забудешь про форматы и т.п.


Sergilov © ( 2005-01-25 14:35 ) [10]

И поэтому умные люди придумали параметры. Используй их, и забудешь про форматы и т.п.
Понятия не имею о параметрах. Подскажи что это.

Типы данных в Access

Для того, чтобы обеспечить возможность хранения в базе данных разнообразной информации, Access предлагает большой набор типов данных, перечисленных в табл. 16.1.

ТАБЛИЦА 16.1 . Типы данных

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

1.В окне базы данных выделите таблицу Список и щелкните на кнопке Конструктор, расположенной в верхней части окна. Выбранная таблица откроется в режиме конструктора.

2. Описание контакта может быть достаточно длинным, а максимальная длина текстовых полей ограничена 256 символами. Поэтому измените тип поля Описание на поле MEMO.

3. Щелкните на поле Дата.

Рис. 16.14. Выбор формата данных в Access

4. Для удобства прочтения даты контакта измените формат ее отображения, выбрав в раскрывающемся списке Формат поля пункт Длинный формат даты, как показано на рис. 16.14.

Кроме типа данных и формата отображения вкладка Общие окна конструктора позволяет настроить некоторые дополнительные параметры поля, влияющие на способ ввода данных. Параметр Значение по умолчанию задает содержимое поля, которое записывается в новую запись в том случае, если пользователь не ввел в это поле никаких данных. Если вы регулярно обновляете список контактов, то дата контакта чаще всего будет совпадать с текущей датой. Чтобы упростить ввод информации, можно задать текущую дату в качестве значения по умолчанию для поля Дата.

5. Введите в поле Значение по умолчанию функцию Date, которая возвращает текущую дату. В некоторых случаях требуется не только задать тип данных поля, но и ограничить его возможные значения некоторым интервалом или более сложным правилом отбора. Такое правило вводится в поле Условие на значение. Предположим, вы точно знаете, что все контакты, которые будут заноситься в список, состоятся после 1 января 1999 г. Чтобы избежать ошибок, можно заставить Access сообщать вам о вводе неверной даты. Для этого выполните следующие шаги.

6. В поле Условие на значение щелкните на кнопке построителя выражений. Откроется окно диалога. Для задания условий или значений определенных параметров Access предлагает большой набор математических операций и функций. Построитель выражений помогает ориентироваться во всем многообразии функций Access. Верхнее прокручивающееся поле построителя содержит конструируемое выражение. Его можно изменять как путем непосредственного редактирования текста, так и с помощью других кнопок и списков построителя.

7. Необходимо, чтобы дата записи была позднее, то есть больше, даты 1 января 1999 г. Поэтому щелкните на кнопке >, чтобы добавить нужное условие.

Теперь нужно указать дату, с которой выполняется сравнение. Дяя этого следует воспользоваться специальной функцией, преобразующей строковую константу в дату в формате Access.

8. Дважды щелкните на папке Функции в левом списке построителя выражений.

Читать еще:  Sql в access

9. Щелкните на папке Встроенные функции, чтобы вывести список стандартных функций Access.

10. В среднем списке выберите категорию Дата/время.

11. Двойным щелчком на имени функции DateValue добавьте ее в поле выражения. Вместо местозаполнителя аргумента «stringexpr» нужно ввести конкретную дату в строковом формате.

12. В поле выражения щелчком выделите текст «stringexpr», а затем напечатайте «1.1.99».

13. Щелкните на кнопке ОК.

Рис. 16.15. Параметры поля Дата

14. В поле Сообщение об ошибке введите текст Неверная дата, который будет появляться при вводе даты, более ранней, чем 1 января 1999 г. Окончательный набор параметров поля Дата показан на рис. 16.15.

15. Щелкните на кнопке закрытия окна конструктора. В окне запроса на обновление структуры таблицы щелкните на кнопке Да. По причине добавления условий на значения поля Дата Access запросит о необходимости проверки содержимого этого поля в уже имеющихся записях таблицы. Щелкните на кнопке Нет, чтобы не выполнять проверку.

Давайте изучим влияние настроенных параметров на поведение базы данных.

16. Выделите таблицу Список в окне базы данных и щелкните на кнопке Открыть. Теперь все даты отображаются в длинном формате, а в ячейке Дата в строке новой записи автоматически появляется текущая дата.

17. Щелкните в ячейке Дата второй строки, измените ее содержимое на 19.11.95 и нажмите клавишу Tab, чтобы перейти к следующему полю. Так как модифицированная дата предшествует 1 января 1999 г., что противоречит настроенному условию, Access не позволит убрать курсор из текущей ячейки и откроет окно сообщения с текстом, введенным вами в поле Сообщение об ошибке конструктора таблицы на шаге 14. Такое сообщение будет появляться до тех пор, пока вы не скорректируете дату.

Урок 15 по VBA — функции работы с датой и временем

И так, в этой по своей природе унылой публикации я кратко рассмотрю vba функции даты и времени, которые позволяют получить или установить параметры даты и времени, задать таймер выполнения заданного блока кода или сценария в целом. Также в конце статьи будет затронута функция vba языка format. Которая отвечает за форматирование данных.

Функции VBA даты и времени

Date () – позволяет получить значение текущей даты, установленной в системе.

Time () – вернет установленное в системе время

Now () – комбинированная функция, так как она позволяет получить значение системной даты и времени.

DateAdd (интервал, число, дата) – позволяет прибавить к заданной дате (параметр “дата”) указанное количество лет, кварталов, месяцев или секунд. На выходе мы получим следующее значение: дата + (число * интервал).

DateDiff (интервал, дата, дата2) – позволяет получить разницу между заданными датами, например. В годах, месяцах и так далее, разница определяется параметром “интервал”.

DatePart (интервал, дата) – позволяет получить заданную часть даты, например, только значение года, месяца или дня недели. Результат возврата регулируется параметром “интервал”.

DateSerial (год, месяц, день) – данная функция vba принимает три числовые значения, по которым возвращается дата.

DateValue (строка) – аналог предыдущей функции, но тут в качестве параметра мы передаем не числа. А строковое значение, на основе которого будет возвращаться дата, vba работа с датами.

Day (дата) – позволяет получить значение текущего дня (если отсутствует параметр “дата”) или для заданной даты.

Year (дата) – позволяет получить значение текущего года (если отсутствует параметр “дата”) или для заданной даты.

Month (дата) – позволяет получить значение текущего месяца (если отсутствует параметр “дата”) или для заданной даты.

Weekday (дата) – позволяет получить значение текущей недели (если отсутствует параметр “дата”) или для заданной даты.

Hour (время) – позволяет получить текущее значение часов (если отсутствует параметр “время”) или для заданного времени, vba дата и время.

Minute (время) – позволяет получить текущее значение минут (если отсутствует параметр “время”) или для заданного времени.

Second (время) – позволяет получить текущее значение секунд (если отсутствует параметр “время”) или для заданного времени.

Timer () – удобная функция для определения промежутка времени, ушедшего на выполнение заданного блока кода. Сама функция возвращает целое количество секунд, которые прошли начиная с полуночи.

TimeSerial (часы, минуты, секунды) – позволяет получить время, заданное тремя параметрами

TimeValue (строка) – работает аналогично предыдущей функции, но для получения времени, передается не целое значение, а строковое.

MonthName (числовое значение) – VBA функция позволяет получить название месяца, в качестве параметра указываем номер месяца.

WeekDay (дата) — задает возвращает имя месяца словами по его номеру. Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.

Помимо указанных выше vba функций даты и времени, можно использовать и такие вариации:

Date (дата) – позволяет задать системную дату

Time (время) – позволяет задать системное время.

В приведенных выше функциях даты и времени vba языка используется параметр “интервал”, который может принимать следующие значения:

VBA функции форматирование данных

Для форматирования данных в языке VBA используется функция Format , которая позволяет сформировать данные любого встроенного типа, используя заданный образец. Общий синтаксис функции format:

Format (Выражение, [“формат”, [первый день недели, [первая неделя года]]]) – тут параметр “выражение” является любым допустимым значением. Формат – необязательный параметр, который задает формат данных, должен заключаться в кавычки. Остальные два параметра также являются необязательными, и задают день недели, который нужно считать первым, и первую неделю года.

Читать еще:  Какие типы данных используются в access

Параметр формат может принимать следующие значения:

  • General Number – числовое значение без выделения разрядов тысяч, например, 12150,2003
  • Currency – денежный формат, выделяются тысячные разряды и два знака после запятой, например, 255,33р.
  • Fixed – числовое значение без выделения разрядов тысяч и двумя знаками после запятой, например, 22439,12.
  • Standart – числовое значение, которое умножается на 100, при этом, остаются два знака после запятой и символ процента, например, 55,63%.
  • Scientific – числовой формат для научных вычисление, например, 5,23Е+03
  • Yes/No – данный параметр определяет, что функция вернет “Да” если форматированное выражение содержит строку Нет, или ненулевое значение и “Нет” в противном случае.
  • True/False – аналог предыдущего параметра, но для строк “Истина” и “Ложь”.
  • On/Off – для строк вида “Вкл” и “Выкл”.
  • General Date – форматирование выражения в соответствии с установленными в системе стандартами даты и времени, например, 10.11.02 12:25:50
  • Long Date – вывод полного формата даты, в зависимости от установок в системе, например, 10 октября 2013 г, vba функции даты.
  • Medium Date – средний формат дат, например, 10-Окт-13.
  • Short Date – короткий вывод формата даты, например, 10.10.13.
  • Long Time – вывод в формате времени (часы, минуты, секунды), например, 12:20:40.
  • Medium Time – 12 часовой формат времени (часы, минуты), например, 05:30.
  • Short Time — 24 часовой формат времени (часы, минуты), например, 17:30.

Спасибо за внимание. Автор блога Владимир Баталий

Вставка текущей даты с помощью элемента управления «Выбор даты»

Чтобы вставить текущую дату в форме Access, воспользуйтесь элементом выбора даты. Если поле обозначено как поле даты и времени, при щелчке в нем появляется значок «Выбор даты». Щелкните его, а затем нажмите кнопку Сегодня под календарем.

Сочетание клавиш. Чтобы вставить текущую дату в выбранное поле классической базы данных Access, одновременно нажмите клавиши CTRL и точку с запятой (;).

Дополнительные сведения о добавлении полей даты и времени в таблицу можно найти в разделе Создание поля для хранения значений даты и времени. Дополнительные сведения о формах можно найти в разделе Создание формы Access.

Вставка значения по умолчанию для новых элементов

Большинство полей и элементов управления Access имеют свойство Значение по умолчанию, где можно ввести функцию, которая вставляет текущую дату каждый раз при создании нового элемента. Функция Now() используется для вставки текущей даты и времени и в классической базе данных, и в веб-приложении Access. Если необходимо вставить только дату, используйте функцию Date() в классической базе данных или функцию Today() в веб-приложении Access.

Куда вводить функцию?

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

В таблице

Вот как найти свойство «Значение по умолчанию» в таблице классической базы данных или веб-приложения Access:

Если область навигации не открыта, нажмите F11, чтобы открыть ее.

В области навигации щелкните таблицу правой кнопкой мыши и выберите пункт «Конструктор».

Щелкните поле, для которого необходимо установить значение по умолчанию, а затем в его свойствах, в поле Значение по умолчанию, введите =Date(), =Today() или =Now().

В форме (базы данных на компьютере)

Если область навигации не открыта, нажмите F11, чтобы открыть ее.

В области навигации щелкните форму правой кнопкой мыши и выберите пункт «Режим макета».

Выберите поле, в которое необходимо вставить сегодняшнюю дату.

Если окно свойств не открыто, нажмите F4, чтобы открыть его.

Убедитесь, что на вкладке все окна свойств в свойстве Показать выбор даты задано значение даты.

На странице свойств на вкладке «Данные» введите =Date() в поле свойства Значение по умолчанию.

Примечание: Если необходимо включить не только текущую дату, но и время, используйте функцию Now() вместо функции Date(). Вам также может понадобиться настроить свойство Формат поля (на вкладке Формат окна свойств), чтобы настроить отображение времени.

В верхней части отчета

Чтобы отобразить текущую дату в заголовке отчета (только для баз данных на компьютере), откройте отчет в режиме макета, а затем на вкладке Конструктор нажмите кнопку Дата и время.

Дополнительные сведения о создании отчетов см. в статье Основные сведения об отчетах в Access.

В SQL

Чтобы заменить значение в поле даты текущей датой в классической базе данных Access, можно использовать запрос на обновление. Например:

UPDATE TASKS SET StartDate = Date() WHERE ID=1;

Дополнительные сведения о запросах на обновление см. в статье Создание и запуск запроса на обновление.

Чтобы вставить новую запись с текущей датой, используйте запрос на добавление, как показано в примере:

INSERT INTO TASKS ( TaskTitle, StartDate ) VALUES («Task2», Date());

Дополнительные сведения о запросах на добавление см. в статье Добавление записей в таблицу с помощью запроса на добавление.

Примечание: Если необходимо включить не только текущую дату, но и время, используйте функцию Now() вместо функции Date().

Читать еще:  Сравнение дат в access

Текущая дата в access

Используется
access 2016
MySq -5,7-x64

Используются внешние таблицы.

Вопрос.
1. Как сделать чтобы при создании записи автоматически проставлялась текущая дата в поле «data_sozd»?
2. Как сделать чтобы при смене статуса автоматически проставлялась текущая дата в поле «data_status»?

Ссылка на файл

1 ответ 1

В Access для этого используются т.н. макросы данных: в конструкторе таблиц на вкладке Конструктор выбираете пункт Создать макросы данных > После вставки (После обновления) и там строите выражение Изменить запись > Задать поле, указываете имя поля, значение = Date().

Я, правда, не уверен, что такой подход работает с внешними таблицами. Даже так, скорее всего, не работает. В этом случае надо внести изменения на стороне MySQL: для поля data_sozd установить значение по умолчанию ALTER TABLE table_name CHANGE data_sozd DATE NULL DEFAULT CURRENT_TIMESTAMP ; для обновления data_status требуется создать триггер на обновление данных:

Чтобы вставить текущую дату в форме Access, воспользуйтесь элементом выбора даты. Если поле обозначено как поле даты и времени, при щелчке в нем появляется значок «Выбор даты». Щелкните его, а затем нажмите кнопку Сегодня под календарем.

Сочетание клавиш. Чтобы вставить текущую дату в выбранное поле классической базы данных Access, одновременно нажмите клавиши CTRL и точку с запятой ( ;).

Дополнительные сведения о добавлении полей даты и времени в таблицу можно найти в разделе Создание поля для хранения значений даты и времени. Дополнительные сведения о формах можно найти в разделе Создание формы Access.

Вставка значения по умолчанию для новых элементов

Большинство полей и элементов управления Access имеют свойство Значение по умолчанию, где можно ввести функцию, которая вставляет текущую дату каждый раз при создании нового элемента. Функция Now() используется для вставки текущей даты и времени и в классической базе данных, и в веб-приложении Access. Если необходимо вставить только дату, используйте функцию Date() в классической базе данных или функцию Today() в веб-приложении Access.

Куда вводить функцию?

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

В таблице

Вот как найти свойство «Значение по умолчанию» в таблице классической базы данных или веб-приложения Access:

Если область навигации не открыта, нажмите F11, чтобы открыть ее.

В области навигации щелкните таблицу правой кнопкой мыши и выберите пункт «Конструктор».

Щелкните поле, для которого необходимо установить значение по умолчанию, а затем в его свойствах, в поле Значение по умолчанию, введите =Date(), =Today() или =Now().

В форме (базы данных на компьютере)

Если область навигации не открыта, нажмите F11, чтобы открыть ее.

В области навигации щелкните форму правой кнопкой мыши и выберите пункт «Режим макета».

Выберите поле, в которое необходимо вставить сегодняшнюю дату.

Если окно свойств не открыто, нажмите F4, чтобы открыть его.

Убедитесь, что на вкладке все окна свойств в свойстве Показать выбор даты задано значение даты.

На странице свойств на вкладке «Данные» введите =Date() в поле свойства Значение по умолчанию.

Примечание: Если необходимо включить не только текущую дату, но и время, используйте функцию Now() вместо функции Date(). Вам также может понадобиться настроить свойство Формат поля (на вкладке Формат окна свойств), чтобы настроить отображение времени.

В верхней части отчета

Чтобы отобразить текущую дату в заголовке отчета (только для баз данных на компьютере), откройте отчет в режиме макета, а затем на вкладке Конструктор нажмите кнопку Дата и время.

Дополнительные сведения о создании отчетов см. в статье Основные сведения об отчетах в Access.

В SQL

Чтобы заменить значение в поле даты текущей датой в классической базе данных Access, можно использовать запрос на обновление. Например:

UPDATE TASKS SET StartDate = Date() WHERE >

Дополнительные сведения о запросах на обновление см. в статье Создание и запуск запроса на обновление.

Чтобы вставить новую запись с текущей датой, используйте запрос на добавление, как показано в примере:

INSERT INTO TASKS ( TaskTitle, StartDate ) VALUES («Task2», Date());

Дополнительные сведения о запросах на добавление см. в статье Добавление записей в таблицу с помощью запроса на добавление.

Примечание: Если необходимо включить не только текущую дату, но и время, используйте функцию Now() вместо функции Date().

Дата и время в Access

Рассмотрим тип поля дата и время в Access. В таблице ДОГОВОР для сохранения даты заключения договора предусмотрено поле ДАТА_ДОГ. Выберите для этого поля тип данного Дата/время (Date/Time). Дата и время в Access может быть выбран один из следующих форматов поля: Полный (General Date), Краткий (Short Date), Средний (Medium Date) или Длинный формат даты (Long Date). В режиме конструктора образцы дат в каждом из форматов показаны в строках списка при выборе формата.

В Access 2007/2010 с полем даты автоматически связывается элемент управления Календарь, отображаемый при переходе в поле даты значком справа от него. Для ввода даты щелкните на этом значке и в открывшемся календаре выберите нужную дату (рис. 3.24).

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