|
|
|
| Добрый день! Помогите ,пожалуйста, решить проблемку.
Форматирую числовое поле в форме след образом--> # ###,##;(# ###,##);[RED];"" + DecimalPalces=Auto
Все нормально, кроме целых чисел. Получаю типа 22, или (454),
Как избавиться от запятой! Спасибо | |
|
| |
|
|
|
| можно попробовать анализировать данные, если целое, то одна ветка, если нет - другая
Точно не помню, есть ли в аксесе IsInteger(), СInt() | |
|
| |
|
|
|
| я пробовал в <Properties,Format> вставить конструкцию IIF. Не получилось! | |
|
| |
|
|
|
| в форме(а не в таблице) на поле повешать маску ввода (это для юзеров)
на событие после обновления поля повешать код который будет избавляться от ненужных знаков | |
|
| |
|
|
|
| но форма не редактируемая, только вывод на экран . Она большая (на весь экран с прокрутками) - (оборотная ведомость по складу) и содержит в основном цифровые данные.
И поэтому заказчик просит
1 Убрать нули
2 Если число отрицательное то его выделить красным
3 Если число целое то показывать только целую часть
Не получается 3 пункт | |
|
| |
|
|
|
| 2 - Если число отрицательное то его выделить красным - условное форматирование
1 - через iif - или тоже через условное форматирование - если 0 - белый шрифт, если меньше - красный - остальное по умолчанию черный.)
3 - а в свойствах поля "Число десятичных знаков" - поставить "Авто" | |
|
| |
|
|
|
| блин - ну вас, с вашим Масковским временем - глянул на время сообщения 14-35 - дернуло как током - я уже как час должен в пути находится, у нас то 12-35 (размахивая жёвто-блакитным прапором) | |
|
| |
|
|
|
| все так но мне не удается воспользоваться IIF. При вводе operatora IIF в строку форматирования он конвертируется в "IIF ..." и получаетчя ерунда. Подскажите формат для условного форматирования по цвету! Почему он не берет : [Black];[Red];"" --> я опробовал его , но тогда число вообще не выводтся | |
|
| |
|
|
|
| ПРАВАЯ кнопка мыша на поле - "Условное форматирование" (4-я строка с низу) - поялвяется окно - и там выбьираем нужные варианты по цвету и значениям
а IIF нужно писать в самом поле = IIF(имя_поля=0;"";имя_поля) - тебе и без IIF можно жить в данном случае | |
|
| |
|
51 Кб. |
|
| вот это окно | |
|
| |
|
|
|
| ТОлько стоять должно не Значение поля а Выражения
(равно не надо)
условие можно написать так
iif([число]-int([число])=0;int([число]);[число]) | |
|
| |
|
|
|
| у меня старая версия Access (97) , где условного форматирования нет! | |
|
| |
|
|
|
| акс 97 не видел
интересно как вы красный получили
но вернемся к нашим баранам
а как происходит процесс форматирования
я вот про это
Форматирую числовое поле в форме след образом-->
|
и как это стыкуется с этим
но форма не редактируемая, только вывод на экран
|
а то чего-то я запутался и ни чего не понял
может источник записей формы делать не на основе таблицы а на основе запроса и там применить iif(.....) | |
|
| |
|
58 Кб. |
|
| Форматирую числовое поле в форме след образом--> ...?
форматируется в <DesignView>! Окно <Properties> текстового блока высылаю (2 и 3 строки сверху) | |
|
| |
|
|
|
| У вас форма ленточная/табличная? Если да, то в А97 задача решаема только в отчете. | |
|
| |
|
|
|
| Спасибо за инфо. Форма имеет тип <Continuous Forms>. Тогда подскажите как проблема решаема в отчете? | |
|
| |
|
|
|
| обработка события "Форматирование" (или Печать) для области где находится поле и там можно программно извращаться как угодно -
if me.поле<0 then
me.поле .ForeColor= vbRed
else
me.поле .ForeColor= 0
end if | |
|
| |