Green-sell.info

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

Access date format

Форматы отображения данных

Свойство Формат поля (Format) на вкладке Общие (General) позволяет указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Для каждого типа поля существует свой набор встроенных стандартных форматов. Эти форматы используют при отображении данных локальные установки, т. е. те параметры, которые установлены на соответствующих вкладках окна Язык и стандарты панели управления Windows. Но вы можете определить собственные (специальные) форматы, пользуясь специальными символами форматирования.

Свойство Формат поля (Format) используется для отображения данных не только в режиме Таблицы, но и в связанных с данным полем элементах управления в формах и отчетах, если для этих элементов управления не установлен другой формат.

Свойство Формат поля (Format) определяет только способ отображения данных, не влияя на способ их сохранения.

Свойство Формат поля (Format) имеет различные значения для разных типов данных. В табл. 2.6—2.11 приведены стандартные значения этого свойства для допустимых типов, а также специальные символы, которые используются при определении нестандартных форматов.

Таблица 2.6. Встроенные числовые форматы для числовых и денежных типов данных

По умолчанию, т. е. если значением свойства Число десятичных знаков является Авто (Auto), форматы Фиксированный, С разделителями разрядов и Процентный выводят числа с двумя десятичными знаками.

Числовые форматы также можно определять самостоятельно с помощью специальных символов. Они могут включать в себя от одного до четырех разделов, отделенных друг от друга точкой с запятой (;). В первом разделе описывается формат положительных чисел, во втором — формат отрицательных чисел, в третьем — формат нулевых значений, в четвертом — формат пустых (Null) значений.

Таблица 2.7. Символы форматирования для числовых типов данных

Для добавления в специальный формат запятой или другого символа разделителя следует ввести этот символ в кавычках, например, формат » # » ## задает последовательности вида #1, #35, #, #99.

Таблица 2.8. Встроенные форматы для полей типа Дата/Время

Специальные форматы даты и времени определяются с помощью символов форматирования, перечисленных в табл. 2.9.

Таблица 2.9. Символы форматирования для типа данных Дата/Время

Примеры:

ddd», «d imranm yyyy Пн, 1 января 2001

dd mmm уу 01 ЯНВ 01

dddd», «dd mmmmm yyyy понедельник, 01 января 2001

Специальные форматы выводятся в соответствии со значениями, установленными в окне Язык и стандарты панели управления Windows. Специальные форматы, противоречащие настройкам окна Язык и стандарты, игнорируются.

Специальные форматы для текстовых полей и полей MEMO могут включать один или два раздела, разделяемых точкой с запятой (;). В первом разделе описывается формат отображения текста, во втором — формат отображения строк нулевой длины и пустых (Null) значений.

В Access различаются понятия пустого значения и строки нулевой длины. Если поле имеет значение Null — пустое, то это означает, что поле не имеет никакого значения. Если значением текстового или МЕМО-поля является строка нулевой длины, то значение этого поля известно — пустая строка. Пустое значение не может быть равно никакому значению, в том числе другому пустому значению, поэтому связывать таблицы по значению Null нельзя. Пустые строки считаются равными друг другу, поэтому по пустым строкам таблицы связывать можно.

Таблица 2.10. Символы форматирования для текстовых и МЕМО-полей

Для логических полей свойство Формат (Format) позволяет указать использование встроенных форматов: Истина/Ложь (True/False), Да/Нет (Yes/No) или Вкл/Выкл (On/Off). В Microsoft Access элементом управления, используемым по умолчанию для логических полей, является Флажок (Check Box). При его применении игнорируются встроенные и специальные форматы.

Специальный логический формат может содержать от одного до трех разделов, разделяемых точкой с запятой (;). Первый раздел не влияет на формат логических значений, но символ точки с запятой указать необходимо. Во втором разделе задается строковое выражение, определяющее значение Истина (True), Да (Yes) или Вкл (On), а в третьем — строковое выражение, определяющее значение Ложь (False), Нет (No) или Выкл (Off).

Не разрешается смешивать в одном формате специальные символы, предназначенные для определения числовых форматов, форматов даты/времени и текстовых форматов. Но существует ряд символов форматирования, которые используются для любых типов данных. Эти символы представлены в табл. 2.11.

Format a date and time field

The Date/Time Data Type has a wide variety of formats to help meet your unique circumstances. With Date/Time formatting you have three choices: keep the default formats, apply a predefined format, or create a custom format. When you apply a format to a table field, that same format is automatically applied to any form or report control that you subsequently bind to that table field. Formatting only changes how the data is displayed and does not affect how the data is stored or how users can enter data.

In this article

Overview of date and time formats

Access automatically displays the date and time in the General Date and Long Time formats. The dates appear as, mm/dd/yyyy in the U.S. and as, dd/mm/yyyy outside the U.S. where mm is the month, dd is the day, and yyyy is the year. The time is displayed as, hh:mm:ss AM/PM, where hh is the hour, mm is minutes, and ss is seconds.

These automatic formats for dates and times vary depending on the geographic location specified in the Microsoft Windows Regional and Language Options setting on your computer. For example, in Europe and many parts of Asia, depending on your location, you might see the date and time as 28.11.2018 12:07:12 PM or 28/11/2018 12:07:12 PM. In the United States, you would see 11/28/2018 12:07:12 PM.

It is possible to change these predefined formats by using custom display formats. For example, you can enter a date in a European format such as 28.11.2018, and have the table, form, or report display the value as 11/28/2018. The custom format that you select will not affect how the data is entered or how Access stores that data.

Access automatically provides a certain level of data validation related to date and time formatting. For example, if you enter an invalid date, such as 32.11.2018, a message appears and you would have the option of entering a new value or converting the field from the Date/Time data type to the Text data type. Valid date values range from -657,434 (January 1, 100 A.D.) to 2,958,465 (December 31, 9999 A.D.). Valid time values range from .0 to .9999, or 23:59:59.

When you want to constrain entry of date and time in a specific format, use an input mask. For example, if you applied an input mask to enter dates in the European format, someone entering data in your database will not be able to enter dates in other formats. Input masks can be applied to fields in tables, query result sets, and to controls on forms and reports. For more information, see Control data entry formats with input masks.

Читать еще:  Ms sharepoint что это

Apply a predefined format

Access provides several predefined formats for date and time data.

Open the table in Design View.

In the upper section of the design grid, select the Date/Time field that you want to format.

In the Field Properties section, click the arrow in the Format property box, and select a format from the drop-down list.

After you select a format, the Property Update Options button appears, and lets you to apply your new format to any other table fields and form controls that would logically inherit it. To apply your changes throughout the database, click the smart tag, and then click Update Format everywhere is used. In this case, Field Name is the name of your Date/Time field.

To apply your changes to the entire database, when the Update Properties dialog box appears and displays the forms and other objects that will inherit the new format. Click Yes.

Save your changes and switch to Datasheet view to see whether the format meets your needs.

Note New forms, reports, or views that you create based on this table get the table’s formatting, but you can override this on the form, report, or view without changing the table’s formatting.

In a form or report

Open the form or report Layout View or Design View.

Position the pointer in the text box with the date and time.

Press F4 to display the Property Sheet.

Set the Format property to one of the predefined date formats.

Open the query in Design View.

Right-click the date field, and then click Properties.

In the Property Sheet, select the format you want from the Format property list.

In an expression

Use the FormatDateTime function to format a date value into one of several predefined formats.

You might find this helpful if you are working in an area that requires an expression, such as a macro or a query.

Examples of predefined formats

(Default) Displays date values as numbers and time values as hours, minutes, and seconds followed by AM or PM. For both types of values, Access uses the date and time separators specified in your Windows regional settings. If the value does not have a time component, Access displays only the date. If the value has no date component, Access displays only the time.

06/30/2018 10:10:42 AM

Displays only date values, as specified by the Long Date format in your Windows regional settings.

Monday, August 27, 2018

Displays the date as dd/mmm/yy, but uses the date separator specified in your Windows regional settings.

Displays date values, as specified by the Short Date format in your Windows regional settings.

Displays hours, minutes, and seconds followed by AM or PM. Access uses the separator specified in the Time setting in your Windows regional settings.

Displays hours and minutes followed by AM or PM. Access uses the separator specified in the Time setting in your Windows regional settings.

Displays only hours and minutes. Access uses the separator specified in the Time setting in your Windows regional settings.

Apply a custom format

Sometimes, the Format property drop-down list in the Property Sheet doesn’t contain the exact date format you want. You can create your own custom format by using a type of code that Access recognizes for date formatting.

When you apply a custom format to the Date/Time field, you can combine different formats by having two sections, one for the date and another for the time. In such an instance, you would separate the sections with a space. For example, you can combine the General Date and Long Time formats as follows: m/dd/yyyy h:mm:ss.

Open the table in Design View.

In the upper section of the design grid, select the Date/Time field you want to format.

In the Field Properties section, select the General tab, click the cell next to the Format box and enter the specific characters based on your formatting needs.

After you enter a format, the Property Update Options button appears and lets you apply the format to any other table fields and form controls that would logically inherit it. To apply your changes throughout the database, click the smart tag, and then click Update Format everywhere Field Name is used. In this case, Field Name is the name of your Date/Time field.

If you choose to apply your changes to the entire database, the Update Properties dialog box appears and displays the forms and other objects that will inherit the new format. Click Yes to apply the format.

Save your changes, and then switch to Datasheet view to see whether the format meets your needs.

Examples of custom formats

Here are some examples of different ways to format January 13, 2012:

To format the date like…

Type this code into the Format property box:

International Dates in Access

Americans format dates mm/dd/yy. British commonwealth countries use dd/mm/yy. Koreans use yy/mm/dd. In some countries, the date separators are dots or dashes, not slashes.

If you are outside the USA, or developing applications that may be used in other countries, you must know to handle dates in Access.

When you type a date into Access, your entry is stored as a number, where the integer part represents the date and the fraction part the time (part of a day). Things can go wrong at four points:

For information on date standards beyond Access, see ISO 8601. For details on how to get the user’s regional settings, see Michael Kaplan’s basIntlFormats code.

1. Misinterpretation in the User Interface

Define the date format for your locale in Windows Control Panel | Regional Settings. You can therefore use your local date format when you enter dates into the user interface part of Access: tables, queries, forms, or the Criteria of Query Design View.

Unfortunately, Microsoft tried to be too smart at helping Access accept dates. If you enter a date that is invalid for your local settings, Access spins the date around trying to find an interpretation that works. For example, with British dates in Control Panel, if you enter 10/13/01 , Access realises there is no 13th month, and decides you must have intended 13-Oct-01. The results can be bizarre. The entry 02/29/01 should generate an error message that 2001 is not a leap year. It doesn’t. Instead, Access plays with the entry and decides you must have intended Feb-1-2029 .

Aside from this madness (which cannot be turned off), just remember the user interface in Access uses the local Control Panel settings to interpret dates typed into the user interface.

Читать еще:  Access is denied

2. Wrong Formatting in Code

In VBA code, delimit dates with the «#» symbol. Regardless or your regional settings, Access expects these literal dates to be in the American format, e.g. #12/31/1999#.

To demonstrate this, enter any date in the Criteria row under a date field in Query Design, and then switch to SQL View. In Query Design view, you see the date according to your local settings, but the SQL statement uses mm/dd/yyyy format.

SQL clauses are not always obvious, e.g. the Filter of a form, the WhereCondition of OpenReport, or the third argument of a domain aggregate function. Examples:

  • DoCmd.OpenReport «MyReport», acViewPreview, , «InvoiceDate > #12/31/2000#»
  • Debug.Print DLookup(«StudentID», «tblStudent», «EntryDate = #6/30/1953#»)
  • strSQL = «SELECT * FROM tblDonation WHERE DonationDate > #» & Format(Me.StartDate, «mm/dd/yyyy») & «#;»

The third example demonstrates how to concatenate a date into a SQL string. The Format() function is essential to force the date into American format. Unfortunately, Format() replaces the slashes with the date separator character defined in Control Panel | Regional Settings, so you must specify literal slashes in the format string by preceding the slash with backslashes.

Since this is something you do frequently, you may find it easy to call a small wrapper function for concatenating date strings. The example below formats it as:

3. Data Type not Recognised

There are two cases where Access may not understand you intend an entry as a date.

Unbound Controls

Text boxes bound to Date fields are not a problem, but if the control is unbound (nothing in its Control Source property), how can Access know what data type you intend? If you are in the USA, it will probably guess correctly. If you use another date format, there’s a high probability that your date will be interpreted wrongly.

In general, the Format property of the control has to do with how Access displays data and does not control data entry. However, if you set the Format property to «Short Date» or similar, Access is unable format an invalid entry, so only valid dates are accepted. And since Access now knows the data type, the erroneous interpretations of the date also cease.

As simple as it sounds, setting the Format property is enough to coerce Access into recognizing the data type for unbound controls.

Calculated Date Fields

Access can also misinterpret calculated date fields in queries, especially where the date format is not American and the field contains some Nulls. The obvious symptoms are that the field is left-aligned and sorted as strings.

The solution is to explicitly typecast all calculated date fields, e.g.:

(Note: CDate() fails on Null values, so CVDate() has more uses than the «compatibility» issue highlighted in the Access documentation.)

With these few simple tricks, you can create databases that can be safely used anywhere, even if the user’s date formats are different from the developer’s.

4. WeekdayName() gives inconsistent results

Avoid the WeekdayName() function. Instead, use Format([MyDate], «dddd»).

Format() and Weekday() are no problem. They use vbSunday as the default value for the first day of the week. But WeekdayName() defaults to vbUseSystemDayOfWeek. The results from WeekdayName() therefore change, depending on your the settings for your locale.

In the Windows Registry under HKCUControl PanelInternational , are settings for iFirstDayOfWeek and iFirstWeekOfYear. The system day values change depending on settings, and are zero-based (0 to 6), whereas the day names have values 1 to 7 in VBA.

That means you do not get a consistent answer from:
? WeekdayName(1)
Consequently, if you rely on the default behavior of WeekdayName(), your code will break when your database is used on a computer that uses different regional settings. For more detail about these settings, see: http://msdn.microsoft.com/en-us/library/bb507201.aspx

  • WeekdayName() does not work in earlier versions,
  • Access 2000 has problems with it as well,
  • The Format() function works in all versions and all regions,

Access date format

Свойство «Формат поля» (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

Специальные форматы выводятся в соответствии со значениями, установленными в диалоговом окне Язык и стандарты (панель управления Microsoft Windows). Специальные форматы, противоречащие настройкам диалогового окна Язык и стандарты, игнорируются.

Примечание. Для добавления в специальный формат запятой или другого знака разделителя следует ввести этот знак в кавычках: mmm d», «yyyy.

Пример
Ниже приведены примеры специальных форматов даты и времени.

Значение Вид на экране
ddd», «mmm d», «yyyy Пн, июн 2, 1997
mmmm dd», «yyyy Июнь 02, 1997
«Номер текущей недели — «ww Номер текущей недели — 22
«Сегодня «dddd Сегодня четверг

Date Formats used by the format() function

Character

Description

Time separator. Separates hours, minutes, and seconds when time values are formatted.
The actual character used as the time separator in formatted output is determined by your system settings.

Date separator. Separates the day, month, and year when date values are formatted.
The actual character used as the date separator in formatted output is determined by your system settings.

Display the date as ddddd and display the time as ttttt , in that order. Display only date information if there is no fractional part to the date serial number; display only time information if there is no integer portion.

Display the day as a number without a leading zero (1 – 31).

Display the day as a number with a leading zero (01 – 31).

Display the day as an abbreviation (Sun – Sat).

Display the day as a full name (Sunday – Saturday).

Display the date as a complete date (including day, month, and year), formatted according to your system’s short date format setting.
The default short date format is m/d/yy .

Display a date serial number as a complete date (including day, month, and year) formatted according to the long date setting recognized by your system. The default long date format is mmmm dd, yyyy .

The same as dddd, only it’s the localized version of the string.

Display the day of the week as a number (1 for Sunday through 7 for Saturday).

Display the week of the year as a number (1 – 54) This is not reliable, see notes below.

Display the month as a number without a leading zero (1 – 12). If m immediately follows h or hh , the minute rather than the month is displayed.

Display the month as a number with a leading zero (01 – 12). If m immediately follows h or hh , the minute rather than the month is displayed.

Display the month as an abbreviation (Jan – Dec).

Display the month as a full month name (January – December).

The same as mmmm, only it’s the localized version of the string.

Display the quarter of the year as a number (1 – 4).

Display the day of the year as a number (1 – 366).

Display the year as a 2-digit number (00 – 99).

Display the year as a 4-digit number (100 – 9999).

Display the hour as a number without leading zeros (0 – 23).

Display the hour as a number with leading zeros (00 – 23).

Display the minute as a number without leading zeros (0 – 59).

Display the minute as a number with leading zeros (00 – 59).

Display the second as a number without leading zeros (0 – 59).

Display the second as a number with leading zeros (00 – 59).

Display a time as a complete time (including hour, minute, and second), formatted using the time separator defined by the time format recognized by your system. A leading zero is displayed if the leading zero option is selected and the time is before 10:00 A.M. or P.M. The default time format is h:mm:ss .

Use the 12-hour clock and display an uppercase AM with any hour before noon; display an uppercase PM with any hour between noon and 11:59 P.M.

Use the 12-hour clock and display a lowercase AM with any hour before noon; display a lowercase PM with any hour between noon and 11:59 P.M.

Use the 12-hour clock and display an uppercase A with any hour before noon; display an uppercase P with any hour between noon and 11:59 P.M.

Use the 12-hour clock and display a lowercase A with any hour before noon; display a lowercase P with any hour between noon and 11:59 P.M.

Use the 12-hour clock and display the AM string literal as defined by your system with any hour before noon; display the PM string literal as defined by your system with any hour between noon and 11:59 P.M. AMPM can be either uppercase or lowercase, but the case of the string displayed matches the string as defined by your system settings. The default format is AM/PM.

Predefined Date formats:

Display a date and/or time. For real numbers, display a date and time, for example, 4/3/12 05:34 PM.If there is no fractional part, display only a date, for example, 4/3/12. If there is no integer part, display time only, for example, 05:34 PM. Date display is determined by your system settings.

Display a date according to your system’s long date format.

Display a date using the medium date format appropriate for the language version of the host application.

Display a date using your system’s short date format.

Display a time using your system’s long time format; includes hours, minutes, seconds.

Display time in 12-hour format using hours and minutes and the AM/PM designator.

Display a time using the 24-hour format, for example, 17:45.

When using Access to insert data into a SQL Server table, it is recommended to use the YYYYMMDD hh:nn:ss format, this minimises problems with international date/time formatting.

Week Numbers

The option for weeknumbers ( ww ) is buggy for certain weeks/years. To produce a correct ISO 8601 weeknumber use a function, if this is saved in a module it can be used in VBA or in an SQL query:

“The aim of science is not to open the door to infinite wisdom but to set a limit to infinite error”

Bertolt Brecht ‘Life of Galileo’

Number formats
Format function
Standard date and time notation — YYYY-MM-DD
Q200299 — BUG: Format or DatePart Functions return wrong Week number for last Monday in year.

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