Как сделать дату в access?

Как сделать дату в access?

var
.
DateTimeStr,UserIdStr:String;
.
DateTimeStr:=DateTimeToStr(Now());
SQLStr:=»Insert into DocFilVal (DocId,FieldId,Val,ModifData,UserId) Values(«+IntToStr(DocId)+»,»+IntToStr(FieldId)+»,»»+FieldInfo.ShortVal+»,»+DateTimeStr+»,»+UserIdStr+»);»;

ADOQuery.SQL.Add(SQLStr);
ADOQuery.ExecSQL();
Ругается на формат даты «17/02/2001» — работает а на «17/02/2001 15:12:10» — ругается
Вопрос тупой, но я с БД не очень много работал.


Johnmen ( 2002-06-06 16:26 ) [1]

Самое надежное — через параметрический запрос.


oss ( 2002-06-06 16:29 ) [2]

так пока не зделаешь как оно хочет и будет ругаться, сам ведь занаешь в чем дело


AFROLOV ( 2002-06-06 16:33 ) [3]


> так пока не зделаешь как оно хочет и будет ругаться

Это и ежу понятно.

> сам ведь занаешь в чем дело

знал бы не спрашивал
Так вот понять бы в какаом виде ей это надо.
TO Johnmen © (06.06.02 16:26)
А как создать параметрический запрос в программе?


Johnmen ( 2002-06-06 16:43 ) [4]

Может сделать его в дизайне и с параметрами, кои и определить.
А в ран-тайме лишь прописывать значения параметров.


AFROLOV ( 2002-06-06 16:55 ) [5]

А идей насчет формата даты нет?


Johnmen ( 2002-06-06 17:11 ) [6]


AFROLOV ( 2002-06-06 17:17 ) [7]

а для других субд, например для MSSQLServer?


Johnmen ( 2002-06-06 17:25 ) [8]

для MSSQLServer — увы (не люблю его).


AFROLOV ( 2002-06-06 18:01 ) [9]

Неужели никто с этим не сталкивался?


Slava ( 2002-06-07 06:49 ) [10]

Странно, у меня работает именно так: «17/02/2001 15:12:10»
Вот такой тестовый примерчик: insert into quest (TIME_ADD_) values («17/02/2001 15:12:10»)

Д6 + Jet4.0 + Access2000


a.verichev ( 2002-06-07 08:00 ) [11]

я делаю так
insert into table
(dateDoc)
values(DateValue(«» + fromDate + «») + TimeValue(«» + fromTime + «»)»)


AFROLOV ( 2002-06-07 10:54 ) [12]

Добавление элемента управления Календарь в форму

Элемент управления Календарь может быть включен в форму для того, чтобы пользователь мог выбрать значение поля типа Дата/Время, а не вводить дату вручную.

Чтобы включить элемент управления Календарь в форму:

  1. Откройте форму в режиме Конструктора.
  2. Выберите команду меню Вставка, Элемент ActiveX (Insert, ActiveX Controls), при этом откроется диалоговое окно Вставка элемента ActiveX (Insert ActiveX Controls) со списком всех зарегистрированных в системе элементов ActiveX.
  3. Выберите в списке (рис. 15.37) строку Элемент управления Календарь 10.0 (Calendar Control 10.0) и нажмите кнопку ОК.

Рис. 15.37. Диалоговое окно Вставка элемента ActiveX

Далее можно настроить этот элемент, используя его свойства. В отличие от других элементов управления, в данном случае свойства имеют:

  • элемент управления ActiveX формы (окно свойств то же самое, что у других элементов управления и у самой формы);
  • объект Календарь, который реализуется этим элементом управления.

В нашем примере создайте новую форму в режиме Конструктора. Добавьте в нее i описанным выше способом элемент управления Календарь. Откройте диалоговое окно свойств элемента ActiveX. Обратите внимание на свойство Класс (Class), определяющее класс элемента ActiveX. Значение этого свойства установилось автоматически: MSCAL.Calendar.7. Определите имя элемента: ocxCalendar и размеры ‘ примерно 8×6 см.

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

Чтобы посмотреть свойства объекта Календарь:

  1. Поместите указатель мыши на календарь и щелкните правой кнопкой мыши, чтобы получить контекстное меню для элемента управления формы.
  2. В появившемся меню щелчком выберите строку Объект Календарь (Calendar Control Object), при этом откроется объектное меню (рис. 15.38). Выберите в этом меню команду Свойства (Properties). Появится диалоговое окно свойств объекта Календарь.

Рис. 15.38. Контекстное меню для элементов управления ActiveX

  1. По умолчанию окно свойств раскрывается на вкладке Общие (General), где можно установить некоторые обшие свойства элемента управления Календарь. Раскройте вкладку Шрифты (Fonts) диалогового окна Свойства: Календарь.
  2. Для элемента DayFont из списка Свойства (Property Name) на вкладке Шрифт (Font) установите шрифт Arial Cyr, в группе Аттрибуты (Font Style) установите флажок полужирный (Bold), установите размер шрифта «10» и нажмите на кнопку Применить (Apply). Размеры столбцов элемента Календарь ограничивают размер шрифта в DayFont величиной 9,75 пунктов (рис. 15.39).

Рис. 15.39. Вкладка Шрифт диалогового окна Свойства: Календарь

  1. Повторите процесс выбора шрифта, описанный на предыдущем шаге, для свойств GridFont (шрифт — Arial Cyr, начертание — полужирный, размер — 9) и TitleFont (шрифт — Arial Cyr, начертание — полужирный, размер — 12).
  2. Раскройте вкладку Цвет (Colors) диалогового окна свойств. Эта вкладка предоставляет возможность изменить на любой из 16 стандартных цветов (или системных цветов Windows) цвета фона (Backcolor), шрифта названий дней (DayFontColor), шрифта дат (GridFontColor), шрифта заголовка (TitleFontColor) и линий сетки (GridLinesColor) (рис. 15.40).
  3. Нажмите кнопку ОК, чтобы закрыть окно свойств объекта. Откройте окно свойств формы. Установите Отсутствуют (Neither) в качестве значения свойства Полосы прокрутки (ScrollBars) и Нет (No) как значение свойств Кнопки перехода (NavigationButtons) и Область выделения (RecordSelectors).
  4. Переключите форму с встроенным календарем в режим формы. Вид элемента управления Календарь в режиме Формы приведен на рис. 15.41. Чтобы изменить год или месяц, можно использовать раскрывающиеся списки в заголовке календаря.
  5. Вернитесь в режим Конструктора. Теперь мы рассмотрим, как можно использовать методы элемента Календарь.

Рис. 15.40. Вкладка Цвет диалогового окна Свойства: Календарь

Рис. 15.41. Форма с элементом управления Календарь с раскрывающимися списками месяца и года

Замечание

Чтобы познакомиться со всеми свойствами, методами и событиями любого элемента ActiveX, встроенного в форму, откройте окно свойств этого объекта и нажмите кнопку Справка (Help).

  1. Справа от календаря расположите вертикально шесть кнопок. Назовите их так, как показано на рис. 15.42: «Следующая неделя», «Предыдущая неделя», «Следующий месяц», «Предыдущий месяц», «Следующий год», «Предыдущий год».
  2. Ниже календаря создайте текстовое поле. В этом поле будет отображаться дата, выбранная в календаре. Присвойте свойству Имя (Name) этого поля значение Дата, а свойству Значение по умолчанию (Default Value) — значение =Date ().
  3. Теперь напишем несколько процедур обработки событий. Во-первых, нужно, чтобы при открытии формы на календаре отображалась текущая дата. Для этого необходимо создать процедуру обработки события Загрузка (Load) формы. Ниже приводится текст этой процедуры.
Читать еще:  Как сделать галочку в access?

Рис. 15.42. Окончательный вид формы, содержащей элемент управления Календарь в режиме Конструктора

  1. При выборе даты в календаре должно меняться значение поля «Дата». Поэтому нужно написать процедуру обработки события ПослеОбновления (AfterUpdate) элемента управления Календарь. Как и предыдущая, эта процедура состоит из одного оператора. Однако в ней показано, что для ссылки на значение элемента Календарь необязательно используется свойство value.
  1. Еще шесть процедур должны обрабатывать событие НажатиеКнопки (Click) для каждой из шести кнопок. В этих процедурах используются шесть методов объекта Календарь:
  1. Поскольку год и месяц теперь можно переключать с помощью кнопок, вы можете убрать из заголовка календаря раскрывающиеся списки, для чего откройте вкладку Общие (General) диалогового окна свойств объекта и снимите флажок Выбор месяца и года (Month/Year Selectors).
  2. Сохраните форму, дав ей имя «Календарь». Окончательный вид формы представлен на рис. 15.43.

Рис. 15.43. Окончательный вид формы с элементом управления Календарь

Как сделать дату в 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 предлагает большой набор математических операций и функций. Построитель выражений помогает ориентироваться во всем многообразии функций 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. Такое сообщение будет появляться до тех пор, пока вы не скорректируете дату.

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