Вы можете установить свойство Format
в выпадающем списке на
@;\0
. Это будет отображать ноль, если значение поля равно Null
. В противном случае фактическое значение.
Другие свойства, которые также необходимо установить, это значения от Row Source Type
до Value List
и от Row Source
до 0;0.5;1;1.5;2;2.5
Использование функции, такой как Nz()
, в вашем запросе для изменения значение поля фактически создает новое поле, доступное только для чтения.
В вашем случае вам нужно, чтобы поле было обновляемым, поэтому один из ваших вариантов - поэкспериментировать с собственностью Format
или Conditional Formatting
.
Тип char - один из немногих типов, размер которого гарантирован стандартом ANSI, и этот размер составляет 1 байт. Насколько мне известно, C не определяет напрямую байт типа. Однако было бы просто безумием иметь тип с именем byte, который на самом деле не является байтом по размеру. Следовательно, простое приведение должно помочь.
В C ++ нет байтового типа. Вы можете ввести «unsigned char» в «byte», если это будет удобнее. На самом деле, это все, что байт находится в C ++ - беззнаковый символ. Кроме того, да, я бы использовал приведение ... но это приведение лучше:
unsigned_char_arr[i]= static_cast<unsigned char>(char_arr[i]);
или ... просто используйте массив символов и приведите его, когда его нужно интерпретировать как символ без знака ...
В C ++ нет байтового типа, и согласно Стандарту:
Редактировать:
1.7:
Байт как минимум достаточно велик, чтобы содержать любой член основного набор символов исполнения и состоящий из непрерывной последовательности бит, количество которых определяется реализацией.
5.3.3:
sizeof (char), sizeof (подписанный char) и sizeof (unsigned char) равно 1; в результат sizeof применяется к любому другому основной тип (3.9.1) определяется реализацией.
Практически в каждой реализации C ++, с которой вы столкнетесь, char
в точности равен октет. Это не гарантируется стандартом C ++, но практически всегда так. байт
char
всегда имеет размер не менее 8 бит, а точное количество битов задается константой препроцессора CHAR_BIT
. Кроме того, оператор sizeof ()
сообщает вам размер объекта / типа с точки зрения количества char
s, а не количества байтов октетов, поэтому, если вы были в какой-то странной системе с 16-битным char
и 32-битным int
, то sizeof (int)
было бы 2, а не 4 .
РЕДАКТИРОВАТЬ: Байт заменен октетом. Стандарт C гарантирует, что символ char
будет байтом, но не гарантируется, что байт будет октетом, а это ровно 8 бит. Если вы когда-нибудь читали какую-либо французскую техническую литературу, там всегда используется «октет» вместо «байта», и у них есть килоктеты (KO), мегаоктеты (MO) и т. Д. Вместо килобайт и мегабайт.