|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.09.2010, 16:57 | #1 |
Пользователь
Регистрация: 11.09.2010
Сообщений: 33
|
Как программно VBA изменить свойство Обязательное поле в таблице
ПРОБЛЕМА:
при создании новой таблицы следующим способом: cat.ActiveConnection = _ "Provider=Microsoft.Jet.OLEDB.4 .0;" & _ "Data Source=" & strFull_File_Name & ";" tbl.Name = strTblName For i = 1 To intCell - 3 tbl.Columns.Append CStr(i), adDouble Next i создается таблица с полями 1,2 ... и т.д. все поля при этом имеют свойство: Обязательное поле - Да А мне надо: Обязательное поле - НЕТ Подскажите как программно т.е. через VBA это изменить ОЧЕНЬ НУЖНО e-mail: meg.shara@yandex.ru |
30.09.2010, 13:27 | #2 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 68
|
Доброго времени суток!
Public Sub PropFieldsChange() Dim currDB As Database Dim tblTabl As TableDef Set currDB = CurrentDb Set tblTabl = currDB.TableDefs("Table1") tblTabl.Fields("Field1").Required = False Set tblTabl = Nothing Set currDB = Nothing End Sub |
30.09.2010, 16:00 | #3 |
Пользователь
Регистрация: 11.09.2010
Сообщений: 33
|
СПАСИБО помогло!!!!
Только пришлось заменить строку:
Set currDB = CurrentDb на новую: Set currDB = OpenDatabase(strFull_File_Name) но у меня вопрос: такой метод только для изменения полей существующей таблицы а сразу при создании таблицы это можно менять или нет? Желательно метод ADO Заранее спасибо! |
30.09.2010, 19:51 | #4 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
|
02.10.2010, 12:12 | #5 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 68
|
Доброго времени суток!
А что если уйти от объектов к старому доброму SQL? Оператор CREATE TABLE, CREATE FIELD и т.д.? Можно в MS SQL Server Express создать таблицу с нужными свойствами полей и посмотреть как он в SQL пишет запрос. А так я навскидку не помню параметр, отвечающий за обязательное поле (но он точно есть! :-) |
02.10.2010, 15:33 | #6 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
В вопросе нет ни слова об SQL.. Там написано: "следующим способом.."
|
04.10.2010, 10:19 | #7 | |
Пользователь
Регистрация: 11.09.2010
Сообщений: 33
|
Мысль об SQL интересна
Цитата:
Но тем не менее способ имеет право на существование, я попробую его на днях. Потом скажу что получилось. Спасибо за проявленный интерес к данному вопросу. |
|
04.10.2010, 10:59 | #8 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 68
|
Доброго времени суток!
Я к тому и написал, что связь с базой можно установить любым способом (я в основном использую DAO), а затем выполнять запросы любого типа. Для меня, например, вполне достаточно CurrentDB.OpenRecordset(strSQL) и CurrentDB.Execute(strSQL), где strSQL - строка с текстом запроса. В этом случае достигается большая гибкость - запрос можно формировать "на лету". Думаю, что и для ADO можно задействовать подобные конструкции - а SQL в данном случае гибче и мощнее использования объектной модели Access |
05.10.2010, 10:31 | #9 |
Пользователь
Регистрация: 11.09.2010
Сообщений: 33
|
Уважаемый LittleFatCat
Все дело в том что надо создать новую таблицу в базе данных.
Причем база данных закрыта, но путь к ней известен. А CurrentDB (насколько я понимаю это текущая база данных, т.е. она открыта и мы в ней работаем). Причем параметр ОБЯЗАТЕЛЬНОЕ ПОЛЕ должен принимать значение НЕТ |
05.10.2010, 11:00 | #10 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 68
|
Доброго времени суток!
Нет проблем - вот так цепляем другую БД из текущей: Set CurrDB = DBEngine.Workspaces(0).OpenDatabase ("MyRandomPatch:\MyRandomDB.mdb" ) И спокойно с ней работаем так, как я раньше писал :-) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить значение value в поле? | erwerwe | JavaScript, Ajax | 8 | 04.08.2010 18:20 |
Как программно изменить наличие Series | gs199 | Компоненты Delphi | 1 | 27.04.2010 10:11 |
Как изменить свойство href тега <A> | Ga-sergey | JavaScript, Ajax | 2 | 23.04.2010 17:49 |
Как программно связать поле в отчёте FR с полем БД? | Mishechka | БД в Delphi | 0 | 11.06.2009 15:57 |
Как изменить свойство объекта, если его имя находится в переменной? | Aiden | Компоненты Delphi | 1 | 13.09.2007 07:57 |