2009-07-07 2 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 

Format()을 사용해 보았지만 변경해야 할 부분을 변경하기 위해 사용할 수 없습니다. 숫자 만, , 텍스트 등과 같이 변경되는 것 같습니다.

+0

이 답변은 귀하의 질문과 밀접한 관련이 없지만 다음 링크는 액세스 쿼리에서 PERCENT BAR을 만드는 방법을 보여줍니다. 내 모든 시간을 좋아하는 액세스 팁 중 하나. 아마도 다음을 사용하여 쿼리의 차가운 요소를 높일 수 있습니다. http://www.datapigtechnologies.com/flashfiles/percenttotal.html –

답변

4

SQL을 사용하여 Format 속성을 설정할 수는 없지만 추가 VBA 코드를 통해 수행 할 수 있습니다. 또한 특정 필드 속성은 Format 속성 중 하나의 값이 할당 될 때까지 실제로 존재하지 않는다는 것을 알아야합니다. 아래 코드는 먼저 해당 필드에 대한 참조를 가져 와서 원하는 값으로 새 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

관련 문제