2009-07-07 184 views
2

我有一个查询在VBA添加几列到表。如何更改的格式百分比成功列到百分比在VBA中使用SQL?如何在VBA中使用SQL将列的格式更改为百分比?

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

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

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

我试过使用Format(),但我无法让它改变我需要改变的东西。它似乎只是改变像号码,文字等等。

+0

这个答案并不密切相关,你的问题......但下面的链接显示了如何创建一个Access查询百分比吧。我所有时间最喜欢的Access技巧之一。想想也许你可以通过使用这个来增加查询中的酷炫因素:http://www.datapigtechnologies.com/flashfiles/percenttotal.html – 2009-08-04 19:37:20

回答

4

不能使用SQL设置的格式属性,但你可以通过附加的VBA代码做到这一点。此外,您应该知道某些字段属性实际上并不存在,直到它们被分配了格式属性是其中之一的值。下面的代码首先获取对该字段的引用,用所需的值创建一个新的Format属性,然后将其附加到字段定义。 Microsoft Access用户界面具有误导性,因为它会让您认为该属性已存在。

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设置此属性。

+0

非常感谢。 – Bryan 2009-08-03 14:10:30