PC.CreatePivotTable(WB.Worksheets[1].Cells[1,1],'PivotTable1');
PT := WB.Worksheets[1].PivotTables('PivotTable1');
// Указываем расположение осей и суммируем данные
PT.PivotFields('Игрок').Orientation := xlRowField;
PT.PivotFields('Игрок').Position := 1;
PT.PivotFields('Номер_компа').Orientation := xlRowField;
PT.PivotFields('Номер_компа').Position := 2;
PT.PivotFields('Админ').Orientation := xlPageField;
PT.PivotFields('Код_услуги').Orientation := xlColumnField;
PT.PivotFields('Цена').Orientation := xlDataField;
WB.Worksheets[1].Columns[2].ColumnWidth := 15;
WB.Worksheets[1].Columns[1].ColumnWidth := 20;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
var i:integer;
begin
ADOConnection1.GetTableNames(ComboBox1.Items);
for i:=Combobox1.Items.Count-1 downto 0 do
if Pos ('0', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ;
for i:=Combobox1.Items.Count-1 downto 0 do
if Pos ('1', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ;
for i:=Combobox1.Items.Count-1 downto 0 do
if Pos ('2', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ;
end;
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
if ADOTable1.Active then ADOTable1.Active:=False;
ADOTable1.TableName:=ComboBox1.Text;ADOTable1.Active:=True;
TabSheet1.Caption:= ComboBox1.Text;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
var i:integer;
begin
ADOConnection1.GetTableNames(ComboBox2.Items);
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('Админ', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('Данные', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('Инфоигрока', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('Комп', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('Услуги', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
for i:=Combobox2.Items.Count-1 downto 0 do
if Pos ('~', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ;
end;
procedure TForm1.ComboBox2Click(Sender: TObject);
begin
if ADOTable1.Active then ADOTable1.Active:=False;
ADOTable1.TableName:=ComboBox2.Text;ADOTable1.Active:=True;
TabSheet1.Caption:= ComboBox2.Text;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ADOQuery2.Active then ADOQuery2.Active:=False;
ADOQuery2.SQL:=Select.Lines;ADOQuery2.Active:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if ADOTable1.Active then ADOTable1.Active:=False;
ADOTable1.TableName:=ComboBox1.Text;ADOTable1.Active:=True;
TabSheet1.Caption:= ComboBox1.Text;
end;
procedure TForm1.Button4Click(Sender: TObject);
{var
fam: string[30];
begin
fam:=InputBox('ВыборкаинформацииизБД',
'Укажитефамилиюищелкнитена OK.', '');
if fam <> '' // пользователь ввел фамилию
then }
begin
with form1.ADOQuery2 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add('SELECT Админ, ФИО, Ставка');
SQL.Add('FROM Админ');
Open; // активизируем выполнение запроса
end;
{if ADOQuery2.RecordCount <> 0 then
DataSource1.DataSet:=ADOQuery2 // отобразитьрез-твыполнениязапроса
else begin
ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
DataSource1.DataSet:=ADOTable1;
end; }
end;
procedure TForm1.Button5Click(Sender: TObject);
var I, Rcnt:integer;
begin
// Открываем базу данных и подсчитываем количество записей
ADODataSet3.Open;
Rcnt := ADODataSet3.RecordCount;
// Запускаем Microsoft Excel
Xl := CreateOleObject('Excel.Application');
// Отображаемокно Microsoft Excel
Xl.Visible := True;
// Создаем рабочую книгу
Xl.WorkBooks.Add;
Wb := XL.WorkBooks[1];
Ws := Wb.WorkSheets[1];
Ws.Name := 'Админ';
// Создаем заголовок отчета
Ws.Cells[1,1] := 'Админ';
Ws.Cells[1,1].Font.Bold := True;
Ws.Cells[1,1].Font.Size := 16;
Ws.Cells[2,1] := 'Админ';
Ws.Cells[2,2] := 'ФИО';
Ws.Cells[2,3] := 'Адрес';
Ws.Cells[2,4] := 'Ставка';
for I:=1 to 4 do
Ws.Cells[2,i].Font.Bold := True;
// Перемещаемся на первую запись набора данных
ADODataSet3.First;
for I:=1 to Rcnt do
begin
// Добавляем значения полей текущей записи в новую строку
Ws.Cells[i+2,1] := ADODataSet3.Fields[0].AsString;
Ws.Cells[i+2,2] := ADODataSet3.Fields[1].AsString;
Ws.Cells[i+2,3] := ADODataSet3.Fields[2].AsString;
Ws.Cells[i+2,4] := ADODataSet3.Fields[3].AsString;
ADODataSet3.Next;
end;
// Изменяемширинуколонок
Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5;
Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5;
Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5;
Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5;
// Подавляем вывод диагностических сообщений
Xl.DisplayAlerts:=false;
// Сохраняем документ
Wb.SaveAs('D:\SOT\Custrer2.xls');
// Закрываем Excel и освобождаем ресурсы
//Xl.Quit;
Xl:=Unassigned;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
with form1.ADOQuery2 do begin
//Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add('INSERT INTO Админ (Админ, ФИО, Адрес, Ставка) VALUES ("Annie", "Бойко А.К.", "Засекречено:)", 1000);');
ExecSQL;
// активизируем выполнение запроса
end;
end;
end.