Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отчет по нескольким линиям TMemo!!!! [D5, D6, Paradox]


draculenok ©   (2002-02-20 07:49:00) 

Здравствуйте уважаемые программеры!!!! извините за навязчивость у меня такая проблема.... при составлении отчета раньше я пользовался Editом следствии чего получался отчет только то одной записи теперь возникла ситуация при которой мне необходимо чтобы отчет был по нескольким записям!!
я использовал Memo и Combobox при нажании на кнопку Button выделенная запись в сомвовохе переходит в Memo, занимая соответственно 1 строку 2,3 и т.д.
с заполнением проблем нет вся проблема как составить запрос чтобы она работала раньше я использовал вот такой:
Form8.Query1.SQL.Clear;
Form8.Query1.SQL.Add("SELECT GroupTov,Company,AdvrtName,ConstrType, sum(price) FROM base2.db where GroupTov= """+Edit1.Text+"""group by GroupTov,AdvrtName,ConstrType,Company");
Form8.Query1.active:=true;
Form8.QuickRep1.Preview;

как можно заменить Edit1.text на все записи в Memo!!
заранее благодарен


Draculenok   (2002-02-21 09:43:00) [1]

И ПРОСТО ВООБЩЕ Я ДУМАЮ ЧТО НА СЧЕТ Ecxela просто возник вопрос к моей программе он не относится
мне просто давно надо было узнать как и что...


Draculenok   (2002-02-21 06:21:00) [2]

Ну да конечно вам проще судить а если человек действительно не знает ....
Лучше наверное промолчать, чем делать выводы ... у меня хватило бы и денег и возможности чтобы за меня ее написали....


panov   (2002-02-20 18:11:00) [3]

>Draculenok © (20.02.02 16:02)
Создавай новую ветку для вопросов не по теме Topic.


MetallAdm   (2002-02-20 18:02:00) [4]

Я тебе уже писмо написал !
воот тама я разбирал с одим человеком как с ЕКСЕЛЕМ
работать думаю будет понятно !

Я уже начинаю соглашатся с Johnmen © ::)

сорри за сообшение не в тему !


Johnmen   (2002-02-20 16:43:00) [5]

Есть предположение, что тов. Draculenok © хочет, чтобы за него написали его прогу...Или это не так ?


Draculenok   (2002-02-20 16:02:00) [6]

Viktor Lonin>>> Все проблем с 0 нет разобрался!!!!!!!!
>>> люди встала другая проблема а как задавать програмно функции .. ну например сортировку чтобы из базы одинаковые значения не выводились допустим
1 колонка Имя
2 колонка Стоимость
Необходимо чтобы при одинаковых именах их стоимости складывались.....
и показывалось только одно имя+ вся их сумма...


Viktor Lonin   (2002-02-20 15:54:00) [7]

Я не помню, поэкспериментируй...Я то же попробую
Лучше пиши мне по электронке..


Draculenok   (2002-02-20 15:30:00) [8]

Viktor Lonin >>> а как мне выводить 0 поле ведь счет идет с 0 а он показывает ошибку


Viktor Lonin   (2002-02-20 13:47:00) [9]

Вот тебе примерчик, я когда то делал. Я использую метод позднего связывания, что считается вроде бы не очень хорошо...
Но тем не менее:
Во-первых в разделе Uses необходимо добавить ComObj
Далее какая нибудь процедура вывода в Excel(по кнопке например):

procedure TForm1.SpeedButton9Click(Sender: TObject);
var X,Sheet,sheet1,Colum,Colum1:Variant;
i,j,Last_Str:Integer;
begin
X:= CreateOleObject("Excel.Application");
X.Visible:=true; //показать exel
X.Workbooks.Add(-4167); //так надо :))
X.Workbooks[1].WorkSheets[1].Name:="Отчет";//имя книги
//получаем указатель на лист:
Sheet:=X.Workbooks[1].WorkSheets["Отчет"];

//получаем указатель на колонки
Colum:=X.Workbooks[1].WorkSheets["Отчет"].Columns;

//изменяем колонки
Colum.Columns[1].ColumnWidth:=3; //unpacker
Colum.Columns[2].ColumnWidth:=3; //washer
Colum.Columns[3].ColumnWidth:=3; //...
Colum.Columns[4].ColumnWidth:=3;
//Указатель на строки
Colum:=X.Workbooks[1].WorkSheets["Отчет"].Rows;
//меняем шрифт определенных строк(заголовки)
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=13;
Colum.Rows[4].Font.Bold:=true;
Colum.Rows[5].Font.Bold:=true;
//заполняем
Sheet.Cells[1,6]:="Привет!";
//данные из БД
table2.First;

for i:=1 to table2.RecordCount do //по таблице2
begin
for j:=1 to 5 do //по полям таблицы
begin
Sheet.Cells[i+5,j]:=table2.Fields[j].AsString;
end;//of for j=1 to
table2.Next;
end;//of for i=1 to
end;
Я тут очень многое вырезал, поэтому возможно сразу не заработает.
Пиши, если не понятно.


amamed_3071   (2002-02-20 13:46:00) [10]

Form8.Query1.SQL.Add("SELECT GroupTov,Company,AdvrtName,ConstrType, sum(price) FROM base2.db where GroupTov in (");
s:="";
for i:=0 to memo1.lines.Count-1 do
s:=s+""""+memo1.lines[i]+""",";
s:=Copy(s,1,Length(s)-1);
Form8.Query1.SQL.Add(s+") group by GroupTov,AdvrtName,ConstrType,Company");


draculenok   (2002-02-20 12:57:00) [11]

кто нибудь может объянить как делать отчеты в экселе !!!! никак не могу найти полное описание!!!!!!!!!


Viktor Lonin   (2002-02-20 12:38:00) [12]

Memo1.lines.count -это только для чтения. Это число, показывающее сколько строк сейчас существует в Мемо1. Доступ к конкретной строке Мемо можно получить:
Мемо1.Lines[i] (типа стринг)
Причем нельзя обращаться к строке у которой i>=Memo1.Lines.Count
(Нумерация строк начинается с 0)
А вообще MetallAdm прав. Отчеты лучше всего делать в Excel"е.


draculenok   (2002-02-20 12:08:00) [13]

Viktor Lonin >> а если задавать memo1.lines.count:=table1.count то на пустые места он просто не будет реагировать и все?


draculenok   (2002-02-20 12:05:00) [14]

MetallAdm © >> если есть возможность то пожалуйста объясни ..


MetallAdm   (2002-02-20 11:37:00) [15]

Хех а помоему выводить отчеты в Word и Exel
куды проще меньше проблем да и красившей получается :))
если надо как работать с ентим пиши !


Viktor Lonin   (2002-02-20 11:18:00) [16]

Возможно, необходимо пробегаться по всем существующим строкам в МЕМО1 и обьединять их в запросе через логику(например
select * from aa.dbf
where
sity=memo1.lines[0]
AND
sity=memo1.lines[1]
.....)
Конечно, зараннее необходимо знать количество строк в MEMO
(memo1.Lines.Count) и что то еще додумать...:))


draculenok   (2002-02-20 10:19:00) [17]

Но он не создает отчет по всем записям он вообще не создает почему то?


Alexandr   (2002-02-20 08:42:00) [18]

Memo1.text


Наверх

Титульная страница Поиск, карта сайта Написать письмо