Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
diplom (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.65 Mб
Скачать

Приложение о Листинг файла FormUspevaemost_student

unit Unit9;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, ExtCtrls, QuickRpt, QRCtrls, Menus, DBCtrls, Grids, DBGrids, StdCtrls, ComObj;

type

TFormUspevaemost_student = class(TForm)

DBNavigator1: TDBNavigator;

DBLookupComboBox1: TDBLookupComboBox;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

ADOQuery3: TADOQuery;

DataSource3: TDataSource;

DBLookupComboBox2: TDBLookupComboBox;

Button1: TButton;

DBGrid1: TDBGrid;

Button2: TButton;

Button3: TButton;

procedure FormActivate(Sender: TObject);

procedure DBLookupComboBox1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormUspevaemost_student: TFormUspevaemost_student;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit1, Unit6;

{$R *.dfm}

procedure TFormUspevaemost_student.FormActivate(Sender: TObject);

begin

adoquery1.sql.clear;

adoquery1.sql.add('SELECT Группы FROM Группы Group by Группы');

adoquery1.active:=true;

end;

procedure TFormUspevaemost_student.DBLookupComboBox1Click(Sender: TObject);

begin

adoquery2.sql.clear;

adoquery2.sql.add('SELECT DISTINCT Курс FROM Группы Where Группы='+QuotedStr(DBLookupComboBox1.text));

adoquery2.active:=true;

end;

procedure TFormUspevaemost_student.Button1Click(Sender: TObject);

begin

adoquery3.sql.clear;

adoquery3.sql.add('SELECT Студенты.Фамилия, Студенты.Имя, {fn CONCAT(Группы.Группы, CAST(Группы.Курс AS varchar(60))) } AS группа FROM Группы INNER JOIN Студенты ON Группы.[Код группы] = Студенты.Группы where Группы.Группы='+QuotedStr(DBLookupComboBox1.text)+'AND КУРС = ' + DBLookupComboBox2.text);

adoquery3.active:=true;

end;

procedure TFormUspevaemost_student.Button2Click(Sender: TObject);

Var

ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData: Variant;

BeginCol, BeginRow, j: integer;

RowCount, ColCount: Integer;

AppLocation:string;

begin

BeginCol := 1;

BeginRow := 4;

RowCount := ADOQuery3.RecordCount;

ColCount := ADOQuery3.FieldDefs.Count;

ExcelApp := CreateOleObject('Excel.Application');

ExcelApp.DisplayAlerts := false;

ExcelApp.Application.EnableEvents := false;

Workbook := ExcelApp.WorkBooks.Add(GetCurrentDir() + '\Вывод списков групп.xlsx');

ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

ADOQuery1.DisableControls;

ADOQuery1.First;

While Not ADOQuery3.eof Do

Begin

For J := 1 To ADOQuery3.FieldDefs.Count Do

Begin

ArrayData[ADOQuery3.RecNo, J] :=

ADOQuery3.FieldbyName(ADOQuery3.FieldDefs.Items[j - 1].DisplayName).value;

End;

ADOQuery3.Next;

End;

ADOQuery3.EnableControls;

Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];

Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount - 1,

BeginCol + ColCount - 1];

Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

Range.Value := ArrayData;

ExcelApp.Visible := True;

end;

procedure TFormUspevaemost_student.Button3Click(Sender: TObject);

begin

FormUspevaemost_student.Close;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]