Упражнение 5
Контрол на данните във вариант
(изглед) Design
Свойството FieldSize определя максималния брой позиции, които могат да заемат данните, записани в полета от тип Text, Number или AutoNumber.
|
Setting |
описание |
точност |
памет |
|
Byte |
Числата са цели
положителни в диапазон от 0
to
255 |
- |
1 byte |
|
Decimal |
Числата са
реални в диапазон от
–10^28–1 до 10^28–1 (.mdb) |
28 |
12bytes |
|
Integer |
Числата са цели
в диапазон от –32 768 to 32 767 |
- |
2 bytes |
|
Long Integer |
(Default) Числата са цели в диапазон от –2 147 483 648 to 2 147 483 647 |
- |
4 bytes |
|
Single |
Числата са
реални в диапазон от –3.402823E38 до –1.401298E–45 |
7 |
4 bytes |
|
Double |
Числата са
реални в диапазон от –1.79769313486231E308 до –4.94065645841247E–324 за отрицателните и от 4.94065645841247E–324 до1.79769313486231E308 за положителните |
15 |
8 bytes |
|
Replication ID |
Глобален уникален идентификатор (GUID) |
N/A |
16 bytes |
Подразбиращите се размери на полетата от тип Text и Number могат да се настройват от менюто Tools с команда Options → Tables/Queries→ Default Field Sizes
Добре е да се използват най-малките приемливи стойности за това поле (FieldSize) с цел по-голямо бързодействие и икономия на памет. При недостатъчен размер на полето могат да се загубят част от данните(низовете се орязват отдясно, дробите се закръгляват.
Типът данни Currency е подходящ за голям брой пресмятания с точност не по-голяма от 4 знака, тъй като за данните от този тип са реализирани операции с фиксирана точка (останалите нецелочислени данни се обработват с операции с плаваща точка)
Свойството Format се използва за да определи вида, в който данните от тип number, date, time, и text се изобразяват на екрана или се разпечатват. То не влияе на начина на представяне и обработване на данните. Могат да се използват стандартни формати или ако те са неподходящи да се дефинират потребителски чрез специално предназначени за това правила и символи.
Подразбиращите
се форматните спецификации, които Microsoft Access използва за типовете данни
Date/Time, Number and Currency, Text and Memo, and Yes/No зависят от регионалните
настройки от Regional Options в Control Panel. Освен стандартните формати
всички типове допускат използване на дефинирани от потребителя формати.
Символите, показани в долната таблица могат да се използват в потребителските
формати за всички типове данни
|
символ |
значение |
|
(интервал) |
Показва празни
позиции като части от литерал. |
|
"ABC" |
Всички символи,
поставени в кавички се изписват като литерали. |
|
! |
Установява ляво
подравняване вместо дясно. |
|
* |
Запълва празните
позиции със следващия символ. |
|
\ |
Показва
следващия символ като литерал. |
|
[цвят] |
Показва данните в цвета, указан в скобите. Допустими цветове: Black, Blue, Green, Cyan, Red, Magenta, Yellow, White. |
Освен това за всеки от типовете данни Number and Currency , Date/Time, Yes/No, и Text and Memo си има специфични форматни символи, които не могат да се използват от другите типове.
Стандартни формати:
|
формат |
описание |
|
General Date |
(подразбиращ се) може да се изобразява
само дата, само време или и двете взависимост от това кое има стойност; Комбинация от Short Date и Long Time. Примери: 4/3/93, 05:34:00 PM, and 4/3/93 05:34:00 PM. |
|
Long Date |
Както в Windows: Saturday, April 3, 1993. |
|
Medium Date |
пример: 3-Apr-93. |
|
Short Date |
Пример: 4/3/93. |
|
Long Time |
Пример: 5:34:23 PM. |
|
Medium Time |
Пример: |
|
Short Time |
Пример: |
Символи, които се използват в потребителските формати за дата и време
|
символ |
описание |
|
: (colon) |
Разделител при времето. |
|
/ |
Разделител в датите . |
|
d |
Ден от месеца,
записан с цифри (1 до 31). |
|
dd |
Ден от месеца,
записан с цифри (01 до 31). |
|
ddd |
Трибуквени
съкращения за дните (Sun до Sat). |
|
dddd |
Пълно име на дните (Sunday to Saturday). |
|
w |
Дните на седмицата (1 до 7). |
|
ww |
Седмиците в годината (1 до 53). |
|
m |
месеци (1 до 12). |
|
mm |
месеци (01 до 12). |
|
mmm |
месеци (Jan до Dec). |
|
mmmm |
месеци (January до December). |
|
q |
Date displayed as the quarter of the year (1 до 4). |
|
y |
Номер на ден в
годината (1 до 366). |
|
yy |
Последните две
цифри в годината (01 до 99). |
|
yyyy |
Full year (0100 to 9999). |
|
h |
часове (0 до 23). |
|
hh |
часове (00 до 23). |
|
n |
минути (0 до 59). |
|
nn |
минути (00 до59). |
|
s |
секунди (0 до 59). |
|
ss |
секунди (00 до 59). |
|
AM/PM |
12 часово време
"AM" или "PM". |
Примери за потребителски формати за дата:
|
Формат |
изписване |
|
ddd", "mmm d", "yyyy |
|
|
mmmm dd", "yyyy |
|
|
"This is week number "ww |
This is week number 22 |
|
"Today is "dddd |
Today is Tuesday |
2.2 Формати за числа и валута
|
формат |
описание |
|
General Number |
(подразбиращ се) Представя числата във вида, в който са въведени. |
|
Currency |
Използва
настройките на Windows за представяне на валута. |
|
Fixed |
Показва се поне
една цифра; Използват се регионалните настройки на Windows за представяне на отрицателните числа,
десетичния разделител и позиции. |
|
Percent |
Умножава
въведената стойност по 100 и дописва знак за процент (%); използва настройките на Windows за представяне на отрицателните числа,
десетичния разделител и позиции. |
|
Scientific |
Използва стандартния scientific формат. |
Потребителски числови формати
Имат 4 секции: за положителни, отрицателни числа, нулата и неопределените стойности. Отделните секции се разделят чрез “;”
Пример : потребителски формат завалута:
$#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"
Символи, които се използват в потребителските числови формати :
|
символ |
описание |
|
. (точка) |
Десетичен
разделител. Настройва се от Windows. |
|
0 |
Указва място за
цифра. На съответната позиция се изобразява или цифра или 0. |
|
# |
Указва място за
цифра. На съответната позиция се изобразява или цифра или нищо. |
|
$ |
изобразява "$". |
|
% |
Процент. Стойността се умножава по100 и след нея се записва “%”. |
|
E– или e– E+ или e+ |
Знак за
експонента в Scientific представянето (0.00E–00 or 0.00E00). |
Използват се следните символи:
|
символ |
значение |
|
@ |
Задължително
въвеждане на един символ. |
|
& |
Незадължителен символ. |
|
< |
Всичко въведено
се преобразува в lowercase. |
|
> |
Всичко въведено
се преобразува в uppercase. |
Потребителските текстови формати имат до две секции със следното значение:
|
секция |
предназначение |
|
първа |
Формат за текстовите полета. |
|
втора |
Формат за празния низ. |
Примери
|
формат |
въведено |
Изписва се |
|
@@@-@@-@@@@ |
465043799 |
465-04-3799 |
|
@@@@@@@@@ |
465-04-3799 |
465-04-3799 |
|
> |
davolio |
DAVOLIO |
|
< |
davolio |
davolio |
|
@;"Unknown" |
Null value |
Unknown |
|
|
Zero-length string |
Unknown |
|
|
Any text |
Same text as entered is displayed |
Microsoft Access използва контрол Check box като подразбиращ се за логически данни. Потребителските формати се игнорират когато се използва контрол check box. Те работят само с контрол Text box.
Потребителските формати за логически данни имат три секци:
|
секция |
предназначение |
|
първа |
Не действа на логическите
данни, но (;) трябва да се използват. |
|
втора |
Текст, който се
показва на мястото на Yes, True или On стойностите. |
|
трета |
Текст, който се
показва на мястото на No, False или Off стойностите values. |
Потребителски формат за логически данни в контрол text box . контролът ще показва "Always" със син текст за истина (Yes, True или On), и с червен текст "Never" за лъжа (No, False или Off).
;"Always"[Blue];"Never"[Red]
Свойството
InputMask се
използва за улесняване въвеждането на данните и контролиране на стойностите, които
могат да се въвеждат. То може да показва как точно да се въвеждат данните и
може да се установява чрез помощник (Фиг.1).
Входната маска може да съдържа до 3 секции, разделени с „;”.
|
Секция |
описание |
|
първа |
Задава самата
входна маска; например, !(999) 999-9999. |
|
втора |
Определя
дали Microsoft Access ще записва в паметта само символите,
които въвеждаме в полето (при записана 1 в тази секция или ако тя е празна) или
ще съхранява и литералните символи в маската (при записана 0 във втората
секция) |
|
трета |
Определя символа, който Microsoft Access ще използва за да определи конкретната позиция, в която трябва да се въвежда символ. За показване на празна позиция се използва " ". |
При създаване на входна маска се използват специални символи, чрез които се изисква въвеждане на данни от определен тип на точно определени позиции. На някои позиции трябва да се укаже, че въвеждането на данни е задължително, а другаде – не (напр в тел. Номер кодът е задължителен, а после може да има 3, 4 или повече цифри) За различни типове данни се използват различни символи. В долната таблица са показани най-често използваните символи и тяхното предназначение.
|
символ |
предназначение |
|
0 |
цифра, задължително е да се въведе, + или – не могат да се въвеждат |
|
9 |
Цифра или
интервал, не е задължително въвеждането, + или – не могат да се въвеждат |
|
# |
Цифра или интервал,
не е задължително въвеждането, + или – могат да се въвеждат, празните интервали се изписват при въвеждане, но
не се съхраняват в паметта. |
|
L |
Задължително
въвеждане на буква. |
|
? |
Незадължително
въвеждане на буква. |
|
A |
Задължително въвеждане
на главна латинска буква или цифра. |
|
a |
Незадължително
въвеждане на главна латинска буква или цифра. |
|
& |
Задължително въвеждане на символ. |
|
C |
Незадължително въвеждане на символ. |
|
. , : ; - / |
Разделители – между
цялата и дробната част, при датите и времето, както са настроени в Regional Settings Properties. |
|
< |
Налага
превръщане на всички символи в lowercase. |
|
> |
Налага
превръщане на всички символи в uppercase. |
|
\ |
Символите след този
символ ще се изобразяват като литерални символи (например, \A ще изобрази A). |
При настройка на свойството InputMask на "Password" се въвеждат пароли. Всеки въведен в съответния контрол символ се записва правилно, но се изобразява с (*).
При едновременно определяне на формат и входна маска за едно и също
поле форматът е с по-висок приоритет.
Примери:
|
Входна маска |
Изобразява се |
|
(000) 000-0000 |
(206) 555-0248 |
|
(999) 999-9999 |
(206) 555-0248 |
|
|
( ) 555-0248 |
|
(000) AAA-AAAA |
(206) 555-TELE |
|
#999 |
–20 |
|
|
2000 |
|
>L????L?000L0 |
GREENGR339M3 |
|
|
MAY R 452B7 |
|
>L0L 0L0 |
T2F 8M4 |
|
00000-9999 |
98115- |
|
|
98115-3007 |
|
>L<?????????????? |
Maria |