Access

Формат поля access: Форматирование числового или валютного поля

Выбор для поля типа данных

 

Тип данного поля таблицы можно выбрать в раскрывающемся списке в столбце Тип данных при работе в режиме Конструктора.

В таблице могут быть заданы следующие типы полей:

  • Текстовый: Текст или комбинация текста и чисел, например, адрес, а также числа, не требующие вычислений, например, номера телефонов, номенклатурные номера или почтовый индекс. Размер поля — до 255 символов.
  • Поле MЕМО: Длинный текст или числа, например, пометки или описание. Размер поля — до 64 000 символов.
  • Числовой: Числовые данные, используемые для математических вычислений, за исключением вычислений, включающих денежные операции (используйте денежный тип). Для определения числового типа определите свойство Размер поля (FieldSize). Размер поля — 1, 2, 4 или 8 байт.
  • Дата/время:Даты и время. 8 байт.
  • Денежный:Значения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 — в дробной. Размер поля — 8 байт.
  • Счетчик:Автоматическая вставка последовательных (отличающихся на 1) или случайных чисел при добавлении записи. Размер поля — 4 байта.
  • Логический:Поля, содержащие только одно или два значения, таких как “Да/Нет”, “Истина/Ложь”, “Включено/Выключено”. Размер поля —  1 бит.
  • Объекты OLE:Объекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие данные), созданные в других программах, использующих протокол OLE. Объекты могут быть связанными или внедренными в таблицу Microsoft Access. Для отображения объекта OLE в форме или отчете необходимо использовать присоединенную рамку объекта.  Размер поля — до 1 гигабайта (ограничено объемом диска).
  • Гиперссылки:Поле, в котором хранятся гиперссылки. Гиперссылка может быть либо типа путь UNC, либо URL.   Размер поля — до 64 000 символов.

При выборе типа данных, используемых в поле, необходимо учитывать следующее:

  • какие значения должны отображаться в поле. Например, нельзя хранить текст в поле, имеющем числовой тип данных, и нецелесообразно хранить числовые данные в текстовом виде;
  • сколько места необходимо для хранения значений в поле;
  • какие операции должны производиться со значениями в поле, например, суммировать;
  • значения можно в числовых полях и в полях, имеющих валютный формат, а в текстовых полях и полях объектов OLE, – нельзя;
  • нужна ли сортировка или индексирование поля. Сортировать и индексировать поля МЕМО, гиперссылки и объекты OLE невозможно;
  • будут ли поля использоваться в группировке записей в запросах или отчетах. Поля МЕМО, гиперссылки и объекты OLE использовать для группировки записей нельзя;
  • каким образом должны быть отсортированы значения в поле. Числа в текстовых полях сортируются как строковые значения (1, 10, 100, 2, 20, 200 и т. д.), а не как числовые значения. Для сортировки чисел как числовых значений необходимо использовать числовые поля или поля, имеющие денежный формат. Для обеспечения сортировки дат и времен следует использовать поле типа Дата/Время.

Свойство Формат поля позволяет указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Например, для поля Цена разумно указать в свойстве Формат поля формат Денежный и установить для его свойства — Число десятичных знаков — значение 2 или Авто. В этом случае введенное в поле значение 4321,678 будет отображаться как 4 321,68р. Допустимо использование как встроенных, так и специальных форматов, созданных при помощи символов форматирования. Для элементов управления значение свойства Формат поля задается в окне свойств.

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

Также для любых типов данных полей, отличных от объектов OLE; есть возможность создания собственных специальных форматов. Кроме того, значение данного свойства можно задать в макросе или в программе.

 

Свойство Формат поля определяет только способ отображения данных, не оказывая воздействия на способ их сохранения. В Microsoft Access определены стандартные форматы для полей с типами данных Числовой, Дата/Время, Логический, Текстовый и Поле МЕМО. В качестве стандартных используются национальные форматы, выбираемые в окне Язык и стандарты Панели управления Windows. Набор форматов определяется настройками для конкретной страны. Например, если на вкладке Язык и стандарты указать Английский (США), то число 1234.56 в денежном формате будет выглядеть как $1,234.56. Но если указать на этой вкладке Русский, то это число будет выглядеть так: 1 234,56р. Настройка Формат поля, заданная в режиме конструктора таблицы, используется для отображения данных в режиме таблицы. Эта же настройка применяется при создании связанных с этим полем новых элементов управления в форме или отчете.

Пользователь имеет возможность указать стандартные размеры текстовых и числовых полей в группе Размеры полей по умолчанию на вкладке Таблицы/запросы (в диалоговом окне Параметры, которое открывается командой Параметры в меню Сервис). Рекомендую задавать минимально допустимое значение свойства Размер поля, поскольку обработка данных меньшего размера выполняется быстрее и требует меньше памяти. Преобразование большего значения свойства Размер поля к меньшему в таблице, которая уже содержит данные, может привести к потере данных.

Например, при уменьшении размера текстового поля с 255 до 50 все значения, длина которых превышает 50 символов, будут усечены. Данные в числовом поле, которые выходят за пределы диапазона, соответствующего новому размеру поля, округляются или заменяются пустыми значениями.

Например, при замене значения «С плавающей точкой (4 байта)» на «Целое» дробные числа будут округлены до ближайшего целого числа, а значения вне диапазона от -32 768 до 32 767 будут преобразованы в пустые значения. Отменить изменения данных, произошедших при модификации свойства Размер поляпосле его сохранения в режиме конструктора таблицы будет невозможно.

Для полей, в которых планируется хранить числовые значения с одним – четырьмя знаками в дробной части, рекомендуется использовать денежный тип данных. При обработке числовых значений из полей типа «С плавающей точкой (4 байта)» и «С плавающей точкой (8 байт)» применяются вычисления с плавающей точкой. При обработке числовых значений из денежных полей используются более быстрые вычисления с фиксированной точкой.

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

 

access — Почему в конструкторе нет типа данных «Форматированный текст»?

Вопрос задан

Изменён 6 лет 2 месяца назад

Просмотрен 711 раз

Используется Access — 2016
Если создавать форматируемое поле через таблицу, то:
— выбираем «Форматированный текст» и создаётся форматируемое поле без проблем;
— но в конструкторе созданное поле имеет тип данных — «Длинный текст»;

Если создавать форматируемое поле через конструктор, то:
— во первых отсутствует тип «Форматированный текст»;
— во вторых если выбирать «Длинный текст», то создаётся не форматируемое поле;

Как через конструктор можно создать форматируемое поле?

  • access
  • ms-access

Если верить встроенной справке (правда, у меня под рукой 2007), то

В Microsoft Office Access 2007 возможно хранение форматируемого текста в базе данных. Для этого используется поле MEMO, а для свойства Формат текста устанавливается значение Формат RTF. Можно применить форматирование ко всему содержимому или к части поля, редактируя поле в форме с помощью присоединенного элемента управления или при отображении поля в таблице. Можно также применить форматирование ко всему полю при просмотре отчета в режиме макета.

Вряд ли что-то сильно поменялось в новой версии, если не считать того, что название «Длинный текст» сменило название «поле MEMO».

В предыдущих версиях Access тип данных «Поле MEMO» использовался для хранения больших объемов текста, а тип данных «Текстовый» — для хранения более коротких строк (до 255 символов). В Access 2013 и 2016 эти два типа данных переименованы в «Длинный текст» и «Короткий текст» соответственно.

Оригинал

Попробуйте обратиться к встроенной справке своей версии Access за уточнениями.

1

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Форматирование

— Как указать собственный формат для текстового шаблона в Microsoft Access?

У меня есть столбец text длиной 1 или 2 символа, который содержит только число от 0 до 99.

Какой (текстовый) формат я использую для его отображения с префиксом 0, когда это только символ из одной цифры ? Это означает, что «8» отображается как «08», а 23 остается без изменений «23».

Я знаю, как это сделать, когда поле числовое вместо текста. Все, что мне нужно сделать, это ввести 00 в поле формата для этого числового столбца. Теперь я хочу сделать то же самое, когда поле текстовое. Спасибо.

  • ms-access
  • форматирование
 =Право("00" & someString,2)
 

Для такой простой вещи VBA не требуется.
Вы можете использовать формат, например «00», если поле представляет собой число. со строкой, используя чистый формат, боюсь, никак.

Можно использовать спецификацию текстового формата TextBox , если преобразовать значение в числовое значение. В ControlSource из TextBox напишите:

 =CLng(fieldName)
 

Если ваше поле может быть Null , это приведет к ошибке, и вам придется сделать следующее:

 =IIf(IsNull(fieldName), Null, CLng(Nz(fieldName)))
 

Nz по-прежнему требуется, так как VBA всегда оценивает все три аргумента IIf .

Или, если вы хотите отобразить «00», если поле Null , просто сделайте следующее:

 =CLng(Nz(fieldName))
 

При использовании таких выражений в текстовых полях или других элементах управления убедитесь, что имя элемента управления отличается от имени исходного столбца; в противном случае вы получите бесконечную рекурсию, которая приведет к ошибке. Например. дайте TextBox имя, например «txtMyColumn», если имя столбца «MyColumn».

1

Из аналогичного вопроса здесь создайте следующую функцию VBA:

 Функция Lpad (MyValue as String, MyPadCharacter as String, _
           MyPaddedLength как целое число)
    Lpad = строка (MyPaddedLength - Len (MyValue), MyPadCharacter) _
           и мое значение
Конечная функция
 

Чтобы проверить эту функцию, введите следующую строку в окне Immediate и нажмите клавишу ВВОД:

 ?Lpad("123B","0",6)
 

ссылка: http://support. microsoft.com/kb/210573

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

MS-access неправильный формат даты при преобразовании поля из текста в дату/время

спросил

Изменено 13 лет, 9 месяцев назад

Просмотрено 20 тысяч раз

У меня есть доступ к базе данных, где все даты хранятся в виде текста поле в формате мм/дд (например: 13. 03.2009 00:20:36)

Я хочу преобразовать поле в дату/время, но доступ форматирует его как дд/мм, что делает так, что если день больше 12 или меньше, преобразованная дата может быть неправым.

Пример с текущим форматом при сохранении в виде текста в БД:

12.03.2009 23:32:40
13.03.2009 23:32:40
 

Если я просто преобразую тип данных этого поля из представления дизайна таблицы из текста в дату/время типа даты я получаю следующее:

12.03.2009 23:32:40
03.13.2009 23:32:40
 

Как исправить сохраненные значения? Меня не волнует формат, в котором будут отображаться даты, поскольку я смогу чтобы легко изменить его внешний вид, но заставить их правильно преобразовать текст в дата/время оказались сложными.

Предпочтительно Я хотел бы исправить это напрямую из доступа, но при необходимости я могу сделать это из C#.

Спасибо.

  • ms-доступ
  • дата
  • формат
  • текстовое поле

1

Если это локальное приложение Access, оно использует формат даты и времени вашей системы, поэтому изменение настроек локализации в Windows на использование MM/DD приведет к преобразованию Access таким образом, если только это не было переопределено где-то в приложении.

2

Формат(CDate(«13/03/2009 23:32:40»), «мм/дд/гггг» даст вам 13/03/2009

У вас есть хорошие ответы на вашу насущную проблему, как бы вы ни похоже, что ваша система работает в формате dmy. Таким образом, вы должны знать следующее:

Операторы SQL требуют, чтобы даты были либо полностью однозначными, либо в формате мм/дд/гг или мм/дд/гггг. В противном случае Access/ Jet сделает все возможное, чтобы интерпретировать дату с неизвестными результатами в зависимости от конкретной даты, с которой он работает. Вы не можете предполагать, что система, в которой вы работаете, использует эти форматы даты. Таким образом, вы должны использовать логику на следующем веб-сайте стр.

Даты возврата в формате US #mm/dd/yyyy# http://www.mvps.org/access/datetime/date0005.htm

1

Функция импорта в Access имеет достойную функциональность для анализа даты и позволяет вам указать несколько различных форматов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *