p align="left">//ShowMessage(ADOQUERY1.SQL.Text); ADOQUERY1.Active:=True; end; procedure TForm17.FormCreate(Sender: TObject); begin ADOTable1.Open; ADOTable1.First; ComboBox3.Items.Clear; While not ADOTable1.Eof do begin ComboBox3.Items.Add(ADOTable1.fieldbyname('disziplina').AsString); //ShowMessage(ADOTable1.fieldbyname('disziplina').AsString); ADOTable1.Next; end; ADOTable1.Close; ComboBox3.Sorted:=True; end; procedure TForm17.ComboBox4Change(Sender: TObject); begin ADOTable2.Open; ADOTable2.First; ComboBox5.Items.Clear; While not ADOTable2.Eof do begin if ADOTable2.Fieldbyname('Spez').AsString=ComboBox4.Text Then ComboBox5.Items.Add(ADOTable2.fieldbyname('grupa').AsString); ADOTable2.Next; end; ADOTable2.Close; ComboBox5.Sorted:=True; end; end. unit Unit18; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, Buttons, ExtCtrls, ComCtrls, ExcelXP, OleServer, Grids, DBGrids; type TForm18 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; RadioGroup1: TRadioGroup; BitBtn1: TBitBtn; Label1: TLabel; Label2: TLabel; ComboBox1: TComboBox; ComboBox2: TComboBox; Label4: TLabel; Label5: TLabel; ADOQuery1: TADOQuery; Edit1: TEdit; Edit2: TEdit; Label3: TLabel; Label6: TLabel; Label7: TLabel; ComboBox3: TComboBox; ComboBox6: TComboBox; Label8: TLabel; Label9: TLabel; RadioGroup3: TRadioGroup; ExcelWorkbook1: TExcelWorkbook; ExcelApplication1: TExcelApplication; BitBtn2: TBitBtn; ADOQuery2: TADOQuery; ComboBox7: TComboBox; ComboBox8: TComboBox; Label10: TLabel; Label11: TLabel; BitBtn3: TBitBtn; ADOQuery3: TADOQuery; ADOQuery4: TADOQuery; ADOQuery5: TADOQuery; ADOTable2: TADOTable; ComboBox4: TComboBox; ComboBox5: TComboBox; DataSource1: TDataSource; ADOQuery6: TADOQuery; ADOTable6: TADOTable; Button1: TButton; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ComboBox4Change(Sender: TObject); // procedure ComboBox4Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form18: TForm18; implementation {$R *.dfm} procedure TForm18.BitBtn1Click(Sender: TObject); var k1:integer; k2:integer; k3:integer; k4,k:double; begin //по группе If radiogroup1.ItemIndex=0 then begin ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count1] FROM ozenka where (((ozenka.ozenka)>3))GROUP BY ozenka.mes, ozenka.god, ozenka.gruppa '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.gruppa)="'+Combobox5.Text+'"))'); AdoQuery1.Active:=True; k1:=AdoQuery1.fieldbyname('Count1').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count2] FROM ozenka where (((ozenka.ozenka)>0))GROUP BY ozenka.mes, ozenka.god, ozenka.gruppa '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.gruppa)="'+Combobox5.Text+'"))'); AdoQuery1.Active:=True; k2:=AdoQuery1.fieldbyname('Count2').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count3] FROM ozenka where (((ozenka.ozenka)>2))GROUP BY ozenka.mes, ozenka.god, ozenka.gruppa '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.gruppa)="'+Combobox5.Text+'"))'); AdoQuery1.Active:=True; k3:=AdoQuery1.fieldbyname('Count3').AsInteger; k4:=Round((k3/k2*100)*100)/100; k:=Round((k1/k2*100)*100)/100; Edit1.Text:=FloatToStr(k4); Edit2.Text:=FloatToStr(k); end; //по специальности If radiogroup1.ItemIndex=1 then begin ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count1] FROM ozenka where (((ozenka.ozenka)>3))GROUP BY ozenka.mes, ozenka.god, ozenka.kodspez '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.kodspez)="'+Combobox4.Text+'"))'); AdoQuery1.Active:=True; k1:=AdoQuery1.fieldbyname('Count1').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count2] FROM ozenka where (((ozenka.ozenka)>0))GROUP BY ozenka.mes, ozenka.god, ozenka.kodspez '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.kodspez)="'+Combobox4.Text+'"))'); AdoQuery1.Active:=True; k2:=AdoQuery1.fieldbyname('Count2').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count3] FROM ozenka where (((ozenka.ozenka)>2))GROUP BY ozenka.mes, ozenka.god, ozenka.kodspez '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'") AND ((ozenka.kodspez)="'+Combobox4.Text+'"))'); AdoQuery1.Active:=True; k3:=AdoQuery1.fieldbyname('Count3').AsInteger; k4:=Round((k3/k2*100)*100)/100; k:=Round((k1/k2*100)*100)/100; Edit1.Text:=FloatToStr(k4); Edit2.Text:=FloatToStr(k); end; //по колледжу If radiogroup1.ItemIndex=2 then begin ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count1] FROM ozenka where (((ozenka.ozenka)>3))GROUP BY ozenka.mes, ozenka.god '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'"))'); AdoQuery1.Active:=True; k1:=AdoQuery1.fieldbyname('Count1').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count2] FROM ozenka where (((ozenka.ozenka)>0))GROUP BY ozenka.mes, ozenka.god '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'"))'); AdoQuery1.Active:=True; k2:=AdoQuery1.fieldbyname('Count2').AsInteger; ADOQuery1.SQL.Clear; AdoQuery1.SQL.Add('SELECT Count(ozenka.stud) AS [Count3] FROM ozenka where (((ozenka.ozenka)>2))GROUP BY ozenka.mes, ozenka.god '); AdoQuery1.SQL.Add('HAVING (((ozenka.mes)="'+Combobox1.Text+'") AND ((ozenka.god)="'+Combobox2.Text+'"))'); AdoQuery1.Active:=True; k3:=AdoQuery1.fieldbyname('Count3').AsInteger; k4:=Round((k3/k2*100)*100)/100; k:=Round((k1/k2*100)*100)/100; Edit1.Text:=FloatToStr(k4); Edit2.Text:=FloatToStr(k); end; end; procedure TForm18.BitBtn2Click(Sender: TObject); var n: OleVariant; i:integer; //S:String; begin if radiogroup3.ItemIndex=0 then begin AdoQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT ozenka.ozenka, ozenka.stud, ozenka.gruppa, ozenka.koddis, ozenka.kodspez, ozenka.mes, ozenka.god FROM ozenka WHERE (((ozenka.ozenka)=2))'); ADOQuery1.SQL.Add('and mes="'+ combobox3.Text+'" and god="'+combobox6.Text+'"'); //Showmessage(adoquery1.SQL.Text); ADOQuery1.Open; ADOQuery1.First; n:='d:\55\spisok55.xls'; ExcelApplication1.Workbooks.Add(n,0); Excelworkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook); i:=3; ExcelApplication1.Cells.Item[1,1].Value:='Cписок неуспевающих'; ExcelApplication1.Cells.Item[1,2].Value:=Combobox3.Text; ExcelApplication1.Cells.Item[1,3].Value:=Combobox6.Text; ExcelApplication1.Visible[0]:=true; While not ADOQuery1.Eof do begin; ExcelApplication1.Cells.Item[i,1].Value:=ADOQuery1.FieldByName('Stud').AsString; ExcelApplication1.Cells.Item[i,2].Value:=ADOQuery1.FieldByName('koddis').AsString; ExcelApplication1.Cells.Item[i,3].Value:=ADOQuery1.FieldByName('ozenka').AsString; ExcelApplication1.Cells.Item[i,4].Value:=ADOQuery1.FieldByName('gruppa').AsString; ADOQUERY1.Next; //ADOQUERY1.Post; i:=i+1; end; end; if radiogroup3.ItemIndex=1 then begin AdoQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT ozenka.stud, Avg(ozenka.ozenka) AS [Avg-ozenka], ozenka.mes,ozenka.gruppa, ozenka.god FROM ozenka'); ADOQuery1.SQL.Add('GROUP BY ozenka.stud, ozenka.mes,ozenka.gruppa, ozenka.god'); ADOQuery1.SQL.Add('HAVING (((Avg(ozenka.ozenka))=5));'); //ADOQuery1.SQL.Add('and mes="'+ combobox3.Text+'" and god="'+combobox6.Text+'"'); ADOQuery1.Open; ADOQuery1.First; n:='d:\55\spisok55.xls'; ExcelApplication1.Workbooks.Add(n,0); Excelworkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook); i:=3; ExcelApplication1.Cells.Item[1,1].Value:='Cписок успевающих на отлично'; ExcelApplication1.Cells.Item[1,2].Value:=Combobox3.Text; ExcelApplication1.Cells.Item[1,3].Value:=Combobox6.Text; ExcelApplication1.Visible[0]:=true; While not ADOQuery1.Eof do begin; ExcelApplication1.Cells.Item[i,1].Value:=ADOQuery1.FieldByName('Stud').AsString; ExcelApplication1.Cells.Item[i,2].Value:='все'; ExcelApplication1.Cells.Item[i,3].Value:='5'; ExcelApplication1.Cells.Item[i,4].Value:=ADOQuery1.FieldByName('gruppa').AsString; ADOQUERY1.Next; //ADOQUERY1.Post; i:=i+1; end; end; end; procedure TForm18.BitBtn3Click(Sender: TObject); var n: OleVariant; i:integer; k1:integer; k2:integer; k3:integer; k4,k:double; begin ADOQuery4.SQL.Text:='drop table ots1'; ADOQuery4.ExecSQL; //ADoQuery.Active:=false; ADoQuery2.Active:=true; ADOQuery2.Edit; ADoQuery2.First; ADoQuery5.Active:=true; ADoQuery5.First; ADOQuery2.insert; ADoQuery3.SQL.Text:='Select* from spez'; ADOQuery3.Active:=true; While not ADoQuery3.Eof do begin
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
|