![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 01.07.2011
Сообщений: 2
|
![]()
вывожу по уроку,как показал учитель ...http://oksi-ac.ucoz.ru/index/3_8_4_svjaz...
и на месте sline := sline + DBGrid1.Fields[col].AsString + #9; ошибка делаю запрос,в дб грид вывожу запрос по поиску... вот код. unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, StdCtrls, Grids, DBGrids, ComObj, ActiveX, OleServer, ExcelXP, Mask; type TForm5 = class(TForm) Button1: TButton; lbl1: TLabel; Label1: TLabel; Label2: TLabel; DBGrid1: TDBGrid; Button2: TButton; Edit2: TEdit; Edit3: TEdit; ExcelApplication1: TExcelApplication; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form5: TForm5; implementation uses Unit3; {$R *.dfm} procedure TForm5.Button1Click(Sender: TObject); begin datamodule3.ADOQuery1.Active:=false ; datamodule3.ADOQuery1.Parameters[0].Value:=Edit1.Text; datamodule3.ADOQuery1.Parameters[1].Value:=Edit2.Text; datamodule3.ADOQuery1.Parameters[2].Value:=Edit3.Text; datamodule3.ADOQuery1.Active:=true; end; procedure TForm5.Button2Click(Sender: TObject); var col, row: integer; sline: string; mem: Tmemo; ExcelApp: Variant; begin //Screen.Cursor := crHourglass; DBGrid1.DataSource.DataSet.DisableC ontrols; DBGrid1.DataSource.DataSet.First; // создаём объект Excel ExcelApp := CreateOleObject('Excel.Application' ); ExcelApp.WorkBooks.Add('D:\r\otchet '); ExcelApp.WorkBooks[1].WorkSheets[1].name := 'list'; // Сперва отправляем данные в memo // работает быстрее, чем отправлять их напрямую в Excel mem := TMemo.Create(Self); mem.Visible := false; mem.Parent :=form5; mem.Clear; sline := ''; // получаем данные из memo for row := 0 to DBGrid1.DataSource.DataSet.RecordCo unt-1 do begin sline := ''; for col := 0 to DBGrid1.FieldCount-1 do sline := sline + DBGrid1.Fields[col].AsString + #9; mem.Lines.Add(sline); DBGrid1.DataSource.DataSet.Next; end; // копируем данные в clipboard mem.SelectAll; mem.CopyToClipboard; // если необходимо, то отправляем их в Excel // если нет, то они уже в буфере обмена ExcelApp.Workbooks[1].WorkSheets['list'].Range['a7'].select; ExcelApp.Workbooks[1].WorkSheets['list'].paste; ExcelApp.WorkBooks[1].WorkSheets['list'].Range['c5']:=edit1.text; ExcelApp.WorkBooks[1].WorkSheets['list'].Range['d5']:=edit2.text; ExcelApp.Visible := true; end; end. не оч разбираюсь... прошу помоши |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 01.07.2011
Сообщений: 2
|
![]() |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Видимо Аватар хочет сказать что нет свойства Fields у ДБГрида. Но есть у датасета, привязанного к гриду, поэтому писать придется не так как ты (DBGrid1.Fields) а подлиннее DBGrid1.DataSource.DataSet.Fields.
I'm learning to live...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вывод на экран (дерево) ошибка | ArniLand | Общие вопросы по Java, Java SE, Kotlin | 1 | 30.09.2010 00:16 |
Ошибка в Exel файлах | Ivn | Microsoft Office Excel | 1 | 09.04.2010 19:05 |
Ошибка в коде Exel to Access | infog | Microsoft Office Access | 4 | 15.10.2009 20:02 |
Вывод прямоугольников на С. Ошибка зацикливания. | KirTheCruel | Помощь студентам | 7 | 27.05.2008 21:19 |
вывод слова из файла, ошибка | Ceprey | Общие вопросы C/C++ | 4 | 17.04.2008 12:05 |