Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект бд my.docx
Скачиваний:
6
Добавлен:
25.11.2018
Размер:
573.34 Кб
Скачать

Приложение 2 Некоторые исходные тексты Экспорт в Word и Excel

&&MESSAGEBOX(thisform.optiongroup1.Value)

IF 1 == thisform.optiongroup1.Value

Local ToWord && создание локальной переменной

ToWord=Createobject("Word.Application") && создаение объекта и привязка его к переменной

ToWord.displayAlerts=.F. && отключение предупреждающих сообщений

ToWord.Documents.Add("Normal",.F.) && создание нового документа

ToWord.Visible=.T. && открываем документ

ToWord.Selection.Font.Bold=.T. && жирным

ToWord.Selection.Font.Size=16 && размер шрифта

ToWord.Selection.font.colorindex = 0

ToWord.Selection.Font.Name="Arial" && шрифт

ToWord.Selection.ParagraphFormat.Alignment=1 && выравнивание текста по центру

ToWord.Selection.typeText('Сотрудники') && вывод текста в апострофах

ToWord.Selection.Font.Size=10 && размер шрифта

ToWord.Selection.Font.Name="Times New Roman" && шрифт

ToWord.Selection.typeParagraph && с новой строки

ToWord.Selection.Font.Bold=.F. && отмена жирного текста

&&USE 'C:\Users\MrXaK\Documents\БД\ch\data1.dbc'

SELECT Sotr.surname as Фамилия,;

Sotr.name_ as Имя, ;

Sotr.patronymic as Отчество, ;

Sotr.seniority as Выслуга_лет,;

Rasp.specialization as Должность,;

Rasp.category as Категория,;

Otd.name as Отдел;

FROM ;

data1!otd ;

INNER JOIN data1!sotr ;

ON Otd.department = Sotr.department ;

INNER JOIN data1!rasp ;

ON Rasp.position_ = Sotr.position_ ;

INTO Array a;

order by sotr.name_

If _Tally>0 && Если число полученных записей больше 0

ToWord.Selection.typeParagraph && с новой строки

ToWord.Selection.typeText("") && пустая строка

rowsCount=Alen(a,1) && создаем переменную и заносим туда значение кол-во строк

colsCount=Alen(a,2) && создаем переменную и заносим туда значение кол-во столбцов

ToWord.ActiveDocument.Tables.Add(ToWord.Selection.Range,rowsCount+1,colsCount) && Создание таблицы в документе

ToWord.Selection.Tables(1).cell(1,1).Range.Text='Фамилия'

ToWord.Selection.Tables(1).cell(1,1).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,2).Range.Text='Имя'

ToWord.Selection.Tables(1).cell(1,2).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,3).Range.Text=' Отчество'

ToWord.Selection.Tables(1).cell(1,3).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,4).Range.Text='Выслуга лет'

ToWord.Selection.Tables(1).cell(1,4).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,5).Range.Text='Должность'

ToWord.Selection.Tables(1).cell(1,5).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,6).Range.Text='Категория'

ToWord.Selection.Tables(1).cell(1,6).Range.Font.Bold=.T.

ToWord.Selection.Tables(1).cell(1,7).Range.Text='Отдел'

ToWord.Selection.Tables(1).cell(1,7).Range.Font.Bold=.T.

j=2 && создание переменной, хранит номер строки, начинаем с 2х, т.к. 1-я - шапка

For j=2 To rowsCount+1 && цикл обработки со 2 по последнюю строку таблицы (заполнение идет построчно)

ToWord.Selection.Tables(1).cell(j,1).Range.Text=a[j-1,1] &&

ToWord.Selection.Tables(1).cell(j,2).Range.Text=a[j-1,2] &&

ToWord.Selection.Tables(1).cell(j,3).Range.Text=a[j-1,3] &&

ToWord.Selection.Tables(1).cell(j,4).Range.Text=a[j-1,4] &&

ToWord.Selection.Tables(1).cell(j,5).Range.Text=a[j-1,5] &&

ToWord.Selection.Tables(1).cell(j,6).Range.Text=a[j-1,6] &&

ToWord.Selection.Tables(1).cell(j,7).Range.Text=a[j-1,7] &&

Endfor && конец цикла

ToWord.Selection.EndKey(6) &&

ToWord.Selection.typeParagraph && с новой строки

Release a &&

Else &&

ToWord.Selection.typeParagraph && с новой строки

ToWord.Selection.typeText ("Нет сведений о сотрудниках") &&

ToWord.Selection.typeParagraph && с новой строки

Endif &&

Release ToWord &&

Thisform.Release

else

Local ToExcel && создание локальной переменной

ToExcel=Createobject("Excel.Application") && создаение объекта и привязка его к переменной

ToExcel.displayAlerts=.F. && отключение предупреждающих сообщений

ToExcel.WorkBooks.Add && создать "книгу" в Excel

ToExcel.Visible=.T. && открываем документ

ToExcel.Sheets(1).Select && 1й лист книги

SELECT Sotr.surname as Фамилия,;

Sotr.name_ as Имя, ;

Sotr.patronymic as Отчество, ;

Sotr.seniority as Выслуга_лет,;

Rasp.specialization as Должность,;

Rasp.category as Категория,;

Otd.name as Отдел;

FROM ;

data1!otd ;

INNER JOIN data1!sotr ;

ON Otd.department = Sotr.department ;

INNER JOIN data1!rasp ;

ON Rasp.position_ = Sotr.position_ ;

INTO Array a;

order by sotr.name_

If _Tally>0 && Если число полученных записей больше 0

rowsCount=Alen(a,1) && создаем переменную и заносим туда значение кол-во строк

ToExcel.Columns("A:A").ColumnWidth=20 && ширина столбца

ToExcel.Columns("B:B").ColumnWidth=20 && ширина столбца

ToExcel.Columns("C:C").ColumnWidth=20 && ширина столбца

ToExcel.Columns("D:D").ColumnWidth=20 && ширина столбца

ToExcel.Columns("E:E").ColumnWidth=80 && ширина столбца

ToExcel.Columns("F:F").ColumnWidth=20 && ширина столбца

ToExcel.Columns("G:G").ColumnWidth=40 && ширина столбца

ToExcel.Range("A1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Фамилия" && ввод значения шапки таблицы

ToExcel.Range("B1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Имя" && ввод значения шапки таблицы

ToExcel.Range("C1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Отчество" && ввод значения шапки таблицы

ToExcel.Range("D1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Выслуга лет" && ввод значения шапки таблицы

ToExcel.Range("E1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Должность" && ввод значения шапки таблицы

ToExcel.Range("F1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Категория" && ввод значения шапки таблицы

ToExcel.Range("G1").Select && выделить поле

ToExcel.ActiveCell.FormulaR1C1="Отдел" && ввод значения шапки таблицы

j=2 &&

For j=2 To rowsCount+1

ToExcel.Range("A1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,1]

ToExcel.Range("B1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,2]

ToExcel.Range("C1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,3]

ToExcel.Range("D1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,4]

ToExcel.Range("E1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,5]

ToExcel.Range("F1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,6]

ToExcel.Range("G1").Select

ToExcel.ActiveCell(j,1).FormulaR1C1=a[j-1,7]

Endfor &&

Endif &&

Release a &&

Close Data All &&

Release ToExcel &&

Thisform.Release

endif