к сожалению, нет единого метода для удаления ведущих нулей .... но вот маленький трюк, который я узнал ...
format(replace(ltrim(replace([your-field-name],"0"," "))," ","0"),##-##-###.##)
сломался ...
format(
replace(
ltrim(
replace(
[your-field-name],
"0",
" "
)
),
" ",
"0"
),
"##-##-###.##"
)
Метод безумия состоит в том, чтобы заменить все нули пробелом, а затем "обрезать" его только на левой стороне. (мы не хотим, чтобы завершающие нули исчезали), затем замените пробелы обратно нулями ... и, наконец, отформатируйте их так, как вы хотите.
В качестве альтернативы ... вместо того, чтобы пытаться обрезать цифры ... вы также можете преобразовать его в фактическое целое число, используя cint(), а затем отформатировать его так:
format(cint([your-field-name]),"##-##-###.##")
Любой метод может работать не так, как вы хотите ... просто потому, что нет проверки ошибок, если предоставленный ввод верен. т. е. если у вас есть 10 (или более) значащих цифр вместо 9 ... он будет молча обрезать начальные цифры ... также использование cInt не будет принимать "символы", такие как "0000000ABCDEFGHI" или что-то еще ...
Возможно, вы захотите создать функцию в vb-script для правильного форматирования ... и затем использовать ее в своем отчете. Но это гораздо более сложный вопрос ... поэтому я не буду касаться его здесь.