我在 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/