sql - 使用 SQL 将列的格式更改为百分比

标签 sql vba ms-access

我在 VBA 中有一个查询,该查询向表中添加几列。如何在 VBA 中使用 SQL 将 PercentSuccess 列的格式更改为 Percent

这是我用来添加列的代码。

strSql5 = " Alter Table analyzedCopy3 " & _   
   "Add Column PercentSuccess Number, Success Number, prem_addr1 TEXT(50) "

DoCmd.SetWarnings False   
DoCmd.RunSQL strSql5   
DoCmd.SetWarnings True

我尝试使用 Format() 但无法让它工作来更改我需要更改的内容。它似乎只改变了诸如数字文本等内容。

最佳答案

您无法使用 SQL 设置 Format 属性,但可以通过其他 VBA 代码来完成此操作。此外,您还应该知道,某些字段属性实际上并不存在,直到它们被分配了一个值(格式属性就是其中之一)。下面的代码首先获取对相关字段的引用,创建一个具有所需值的新 Format 属性,然后将其附加到字段定义中。 Microsoft Access UI 具有误导性,因为它让您认为该属性已经存在。

  Dim db   As Database
  Dim tdef As TableDef
  Dim fdef As Field
  Dim pdef As Property

  Set db = CurrentDb()
  Set tdef = db.TableDefs("analyzedCopy3")
  Set fdef = tdef.Fields("PercentSuccess")

  Set pdef = fdef.CreateProperty("Format", dbText, "Percent")
  fdef.Properties.Append pdef

最后,此代码仅在您使用 DAO 对象时才有效;您无法使用 ADO 设置此属性。

关于sql - 使用 SQL 将列的格式更改为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1092600/

相关文章:

sql - 如何从字符串中获取部分字符串

php - 在 php 中构建 "multilingual"脚本的最佳方法是什么?

sql - 过滤一组记录

vba - 是什么导致 Excel 2007 在 64 位环境中跳过 onerror?

java - 删除数据库中的行

c++ - 检测是否安装了 Microsoft Access 驱动程序

sql - 插入查询通过 select 和 output 子句在表中插入多行。 SQL Server 2008

vba - 从另一个工作簿在工作簿中运行 vba 宏

excel - 模糊字符串匹配 Excel

excel - VBA Office 2007 创建 2003 Excel 工作表