2009-07-07 1 views
2

У меня есть запрос в VBA, который добавляет несколько столбцов в таблицу. Как изменить формат PercentSuccess column to Процент с использованием SQL в VBA?Как изменить формат столбца в Percent с помощью SQL в VBA?

Вот код, который я использую для добавления столбцов.

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 в запросе Access. Один из моих любимых советов. Думал, может быть, вы могли бы увеличить классный фактор по вашему запросу, используя это: http://www.datapigtechnologies.com/flashfiles/percenttotal.html –

ответ

4

Вы не можете установить свойство Format с помощью SQL, но вы можете сделать это с помощью дополнительного кода VBA. Также вы должны знать, что определенные свойства поля фактически не существуют до тех пор, пока им не присвоено значение, одним из которых является свойство Format. Приведенный ниже код получает ссылку на соответствующее поле, создает новое свойство 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

Смежные вопросы