![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создаеие бд MS access во время выполнения без ОБЯЗАТЕЛЬНЫХ ПОЛЕЙ
Максим © (2013-04-08 19:09:00)Приветствую.
У меня проблема, понятная из шапки. Все прекрасно работает, но при открытие в Access все поля обязательны для заполнения. как избежать этого, что записать и куда.
clickmaker (2013-04-08 19:59:00) [21]Properties['Jet OLEDB:Allow Zero Length'].Value := true ?
Максим (2013-04-08 19:54:00) [22]
> clickmaker © (08.04.13 19:41) [5]
> > 'Required' выставлял в trueтак выставлять надо в false
было в false
clickmaker (2013-04-08 19:41:00) [23]> 'Required' выставлял в true
так выставлять надо в false
Медвежонок Пятачок (2013-04-08 19:38:00) [24]искать свойство нуллабел или похожее по смыслу
Максим (2013-04-08 19:34:00) [25]'Required' выставлял в true. все по прежднему.
clickmaker (2013-04-08 19:18:00) [26]а чего-нить типа Properties['Required'] или Properties['Mandatory'] нету?
Максим (2013-04-08 19:13:00) [27]вот код.
procedure TForm2.Button1Click(Sender: TObject);
var
TableManom:_Table; //МАНОМЕТРЫ
TableOborud:_Table; //ОБОРУДОВАНИЕ
Column: _Column;
begin
Close;
Form1.SaveDialog1.FileName := Form2.Edit1.Text;
if Form1.SaveDialog1.Execute then
else Exit;
// Создание базы данных
Catalog := CoCatalog.Create;
Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Form1.SaveDialog1.FileName);
Catalog.Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Form1.SaveDialog1.FileName);
begin
// Создание таблицы ОБОТУДОВАНИЯ
TableOborud := CoTable.Create;
TableOborud.Name := 'Оборудование';
TableOborud.ParentCatalog := Catalog;
// Создать ключевое поле
Column := CoColumn.Create;
with Column do
begin
ParentCatalog := Catalog;
Name := 'Key1';
Type_ := adInteger;
Properties['Autoincrement'].Value := True;
Properties['Description'].Value := 'Ключевое поле';
end;
// Добавить поле к таблице
TableOborud.Columns.Append(Column, 0, 0);
Column := Nil;
// Создаём ещё несколько полей
with TableOborud.Columns do
begin
Append('Оборудование', adVarWChar, 12);
end;
end;
begin
// Создание таблицы МАНОМЕТРЫ
TableManom := CoTable.Create;
TableManom.Name := 'Манометры';
TableManom.ParentCatalog := Catalog;
// Создать ключевое поле
Column := CoColumn.Create;
with Column do
begin
ParentCatalog := Catalog;
Name := 'Key1';
Type_ := adInteger;
Properties['Autoincrement'].Value := True;
Properties['Description'].Value := 'Ключевое поле';
end;
// Добавить поле к таблице
TableManom.Columns.Append(Column, 0, 0);
Column := Nil;
// Создаём ещё несколько полей
with TableManom.Columns do
begin
Append('Тип', adInteger, 100);
Append('Среда', adInteger, 100);
Append('Оборудование', adInteger, 100);
Append('Давление', adInteger, 100);
Append('Еденица_измерения', adInteger, 100);
Append('Диаметр', adInteger, 100);
Append('Класс_точности', adInteger, 100);
Append('Номер', adVarWChar, 10);
Append('Комментарий', adVarWChar, 55);
Append('Состояние', adInteger, 100);
Append('Поверка', adInteger, 100);
end;
end;
// Добавить таблицу к базе данных
Catalog.Tables.Append(TableManom);
Catalog.Tables.Append(TableOborud);
end;