Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
ADO [17]
ASCII и CSV [12]
Access [20]
Alias [24]
BDE [37]
BLOB поля [19]
Clipper [2]
DB2 [2]
DBASE и DBF [26]
Fox Pro [1]
Interbase [21]
MSSQL [0]
ODBC [10]
Oracle [0]
Paradox [0]
SQL [29]
Sybase [1]
База данных [0]
Закладки [2]
Записи [0]
Индексы [10]
Компоненты и Базы данных [0]
Модуль данных [3]
Отчеты [2]
Ошибки БД [17]
Поиск [16]
Поля [0]
Сортировка и Фильтр [6]
Таблицы [0]

Наш опрос
Есть ли у Вас свой сайт?
Всего ответов: 48

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Статьи » Базы данных » Access

Как создать таблицу в MS Access при помощи DAO
1. Объявляем переменные: 



var
  access, db, td, recordset: Variant;

 


2. объявляем массив констант соответствия типов данных (между полями в Delphi и типами полей DAO) 



  arrMDBTypes: array[TFieldType] of Integer =
  ({dbText} 10 {ftUnknown},
  {dbText} 10 {ftString},
  {dbInteger} 3 {ftSmallint},
  {dbLong} 4 {ftInteger},
  {dbInteger} 3 {ftWord},
  {dbBoolean} 1 {ftBoolean},
  {dbDouble} 7 {ftFloat},
  {dbCurrency} 5 {ftCurrency},
  {dbDouble} 7 {ftBCD},
  {dbDate} 8 {ftDate},
  {dbTime} 22 {ftTime},
  {dbDate} 8 {ftDateTime},
  {dbLongBinary} 11 {ftBytes},
  {dbLongBinary} 11 {ftVarBytes},
  {dbInteger} 3 {ftAutoInc},
  {dbLongBinary} 11 {ftBlob},
  {dbMemo} 12 {ftMemo},
  {dbLongBinary} 11 {ftGraphic},
  {dbMemo} 12 {ftFmtMemo},
  {dbLongBinary} 11 {ftParadoxOle},
  {dbLongBinary} 11 {ftDBaseOle},
  {dbBinary} 9 {ftTypedBinary},
  {dbText} 10 {ftCursor}

  {$IFDEF VER120}
  ,
  {dbText} 10 {ftFixedChar},
  {dbText} 10 {ftWideString},
  {dbBigInt} 16 {ftLargeint},
  {dbText} 10 {ftADT},
  {dbText} 10 {ftArray},
  {dbText} 10 {ftReference},
  {dbText} 10 {ftDataSet}
  {$ELSE}

  {$IFDEF VER125}
  ,
  {dbText} 10 {ftFixedChar},
  {dbText} 10 {ftWideString},
  {dbBigInt} 16 {ftLargeint},
  {dbText} 10 {ftADT},
  {dbText} 10 {ftArray},
  {dbText} 10 {ftReference},
  {dbText} 10 {ftDataSet}

  {$ELSE}

  {$ ,
  {dbText} 10 {ftFixedChar},
  {dbText} 10 {ftWideString},
  {dbBigInt} 16 {ftLargeint},
  {dbText} 10 {ftADT},
  {dbText} 10 {ftArray},
  {dbText} 10 {ftReference},
  {dbText} 10 {ftDataSet},
  {dbLongBinary} 11 {ftOraBlob},
  {dbLongBinary} 11 {ftOraClob},
  {dbText} 10 {ftVariant},
  {dbText} 10 {ftInterface},
  {dbText} 10 {ftIDispatch},
  {dbGUID} 15 {ftGuid}
  {$ENDIF}
  {$ENDIF}
  {$ENDIF}

  );

 



// 3. загружаем DAO:
  try
  access := GetActiveOleObject('DAO.DBEngine.35');
  except
  access := CreateOleObject('DAO.DBEngine.35');
  end;

// 4. открываем базу данных
  try
  db := access.OpenDatabase(yourDatabaseName);
  except
  exit
  end;

// 5. созда¸м новую таблицу в открытой базе данных
  td := db.CreateTableDef(yourTableName, 0, '', '');

// 6. добавляем в таблицу поле с описаниями
  td.Fields.Append(td.CreateField(strFieldName,
  arrMDBTypes[intDataType], Size));

// например,
  td.Fields.Append(td.CreateField('ID', arrMDBTypes[intDataType], Size));
  td.Fields.Append(td.CreateField('NAME', arrMDBTypes[intDataType], Size));

// 7. добавляем таблицу в список таблиц
  db.TableDefs.Append(td);

// 8. открываем созданную таблицу
  recordset := db.OpenTable(yourTableName, 0);

// 9. добавляем новую запись в открытую таблицу
  recordset.AddNew;

// 10. изменяем значения поля
  curField := recordset.Fields[0].Value := 1;
  curField := recordset.Fields[1].Value := 'First record';

// 11. помещаем новую запись в базу
  recordset.Update(dbUpdateRegular, False);
// где
const
  dbUpdateRegular = 1;

// 12. закрываем recordset
  recordset.Close;

// 13. закрываем базу данных
  db.Close;

// 14. освобождаем экземпляр DAO
  access := UnAssigned;
Категория: Access | Добавил: Skinner (03.07.2008)
Просмотров: 341 | Рейтинг: 0.0/0
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2024 Хостинг от uCoz