如何在 Microsoft Access 報表設計器中設定文字欄位的格式?

如何在 Microsoft Access 報表設計器中設定文字欄位的格式?

我的報告上列印時有一個欄位(字串),如下所示:「0000000840509001」。我希望它看起來像這樣:「84-05-090.01」。有沒有辦法在報表設計層面做到這一點?

基本上,我想去掉前導零並將剩餘的字串放入 ##-##-###.## 格式。

答案1

遺憾的是,沒有單一方法可以去除前導零......但這是我學到的一個小技巧......

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 腳本中實際建立一個函數來正確進行格式化...然後在報表中使用它。但這是一個更加複雜的主題......所以我不會在這裡觸及它。

相關內容