Форум программистов, компьютерный форум, киберфорум
Alex_pac
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

экспорт из access в word Delphi

Запись от Alex_pac размещена 20.05.2012 в 02:31
Показов 2447 Комментарии 0
Метки delphi, ms access

процедура по выводу Таблицы в Ворд из DataSet.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// uses DB;
 
procedure DsMoveTo(dts: TDataSet; index: integer);
begin
  dts.MoveBy(index-dts.RecNo);
end;
 
function DsNotEmpty(inSet: TDataSet): boolean;
begin
  if not inSet.Active then Result:=false else
  Result := Not (inSet.Bof and inSet.eof);
end;
 
procedure DataSetToMSWord(Ds:TDataSet; WordApp,WordDocument:variant);
var i,j,p,c:integer; table: Variant;
begin
  if not DsNotEmpty(ds) then begin
    ShowMessage('Нельзя вывести отчет в Word, DataSet пустой');
    exit;
  end;
  WordApp.visible:=false;
  c:= Ds.RecordCount+1;
  table:=WordDocument.tables.add(
    WordApp.Selection.Range,
    NumRows:=c, // тут ширина и колво-колонок должно быть уже известно.
    NumColumns:=Ds.FieldCount,
    DefaultTableBehavior:=1,
    AutoFitBehavior:=1
  );
  for i:=1 to Ds.FieldCount do begin
     table.columns.item(i).PreferredWidth:=50;
     table.cell(1,i).select;
     WordApp.Selection.typetext( Ds.Fields[i-1].DisplayLabel );
  end;
  table.rows.item(1).select;
  WordApp.Selection.Font.Bold:=true;
  WordApp.Selection.Font.Size:=12;
  Ds.DisableControls;
  p:=Ds.RecNo;
  Ds.First;
  for i:=2 to c do begin
    for j:=1 to Ds.FieldCount do begin
      table.cell(i,j).select;
      WordApp.Selection.typetext(
        Ds.Fields[j-1].AsString
      );
    end;
    Ds.Next;
  end;
  DsMoveTo(ds,p);
  Ds.EnableControls;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var WordApp,doc: Variant;
begin
  WordApp:=CreateOleObject('Word.Application');
  doc:=WordApp.Documents.Add;
   // вывод датасета в Word
  DataSetToMSWord(ADOTable1, WordApp, doc);
  WordApp.Visible:=true;
end;
Вложение 153477
Метки delphi, ms access
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Новые блоги и статьи
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru