Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите сделать флажок программно
 
 автор: денник   (20.03.2009 в 11:46)   личное сообщение
 
 

Доброго времени суток всем. Помогите создать флажок программно. Кусок кода

With adoxCol
.ParentCatalog = adoxCat
.Name = "использовать"
.Type = adBoolean
End With

он создает логическое поле, а вот "тип элемента управления" - поле. как программно сделать его флажком?

  Ответить  
 
 автор: Serge Gavrilov   (20.03.2009 в 12:50)   личное сообщение
 
 

Использовать свойство DisplayControl=106.
Проверял только при использовани DAO

  Ответить  
 
 автор: денник   (20.03.2009 в 17:00)   личное сообщение
 
 

если я правильно вас понял то

With adoxCol
.ParentCatalog = adoxCat
.Name = "использовать"
.Type = adBoolean
.Properties("DisplayControl").Value = 106
End With

не выходит пишет, что не удается найти объект в семействе, соответствующий требуемому имени или порядковому номеру.
или это возможно сделать только через DAO?

  Ответить  
 
 автор: Анатолий (Киев)   (20.03.2009 в 18:36)   личное сообщение
 
 

Это дополнительное свойство, предлагаемое Access. По умолчанию его нет у поля, созданного с помощью ADOX или DAO. Добавьте его в семейство Properties.

  Ответить  
 
 автор: денник   (20.03.2009 в 18:49)   личное сообщение
 
 

Анатолий. я к сожалению только начал изучать Ассеss. да и сложность в том что работаю экономистом времени особо заниматься нет. Расскажите, пожалуйста, как сделать


Добавьте его в семейство Properties.

  Ответить  
 
 автор: денник   (20.03.2009 в 18:50)   личное сообщение
 
 

Вот так работает:

Dim dbs As Database
Dim tdf As TableDef
Dim fld As Field
Dim prt As Property

Set dbs = CurrentDb()

Set tdf = dbs.CreateTableDef("пропущенный номер") 'создаем новую таблицу

    Set fld = tdf.CreateField("пропущены номера", dbLong) 'cоздаем новое поле с типом LONG
    tdf.Fields.Append fld 'добавляем созданное поле в таблицу

    Set fld = tdf.CreateField("Использовать", dbBoolean) 'создаем новое логическое поле
    tdf.Fields.Append fld 'добавляем созданное поле в таблицу

tdf.Fields.Refresh 'обновляем cемейство полей созданной таблицы
dbs.TableDefs.Append tdf 'добавляем созданную таблицу в cемейство таблиц БД
dbs.TableDefs.Refresh 'обновляем cемейство таблиц
    
    Set prt = fld.CreateProperty("DisplayControl", dbInteger, acCheckBox)
    fld.Properties.Append prt 'добавляем созданное свойство в cемейство свойств поля Использовать
    fld.Properties.Refresh 'обновляем cемейство свойств поля Использовать

только такое ощущение что сделано как-то коряво что-ли?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList