2009-07-07 8 views
2

私はテーブルにいくつかの列を追加するVBAでクエリを持っています。 PercentSuccess列から%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 

私は(書式を使用しようとしました)が、私はそれは私が変更する必要があるものを変えるために動作させることはできません。 番号、テキストなどを変更するように見えるだけです。

+0

この回答はあなたの質問と密接に関連していませんが、次のリンクはアクセスクエリでPERCENT BARを作成する方法を示しています。私の好きなアクセスのヒントのひとつ。たぶん、あなたはこれを使用してクエリのクールな要因を高めることができると思った:http://www.datapigtechnologies.com/flashfiles/percenttotal.html –

答えて

4

SQLを使用してFormatプロパティを設定することはできませんが、追加のVBAコードで行うことができます。また、Formatプロパティが値の1つである値が割り当てられるまで、特定のフィールドプロパティは実際には存在しないことがわかります。以下のコードは、最初に問題のフィールドへの参照を取得し、目的の値で新しい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を使用してこのプロパティを設定することはできません。

+0

大変感謝しています。 – Bryan

関連する問題