Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Создание БД 
:(
    Опции темы
Tosha
Дата 27.1.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 5.1.2005

Репутация: нет
Всего: нет



Люди студент одумался за неделю до диплома что ему нужна будет прога :-(
Вопрос такой:
мне нужна программа которая будет забивать данные в базу данных, незнаю правда в какую, думал в MySQL или в access. ссклоняюсь больше к access так как если что смогу там посмотреть нормально базу, да и проще мне как-то с ним. 
так вот база данных должна состоять из нескольких таблиц, такие как база клиентов, база мест отбора продукции, база производителей, ну и так далее, я думаю будет понятно когда вы увидите какой отчет я должен получить.
так вот этот отчет состовляется на основании других отчетов из других отделов, один отдел проверяет на тяжелые металы, другой на радиологию и так далее, разный товар проверяется на разное, бывает он проверяется в 5 отделах бывает в двух.
так вот мне надо их этого всего сформировать такое экспертное заключение.
оно поидее должно формироватся в word занася туда только поидеи выделенный текст
то что розове должно выбиратся по в зависимости от продукции что исследуется, голубое вносит человек по результатам приборов
всего будут работать с этой программой около 5-10 человек, на разных компьютерах в разных отделах. в день порядка 10-20 отчетов  делается.
помогите пожалуста кто чем сможет, хотя бы примеры программ с базами данных.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Otchet.rar 18,00 Kb
PM MAIL   Вверх
Данкинг
Дата 27.1.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Если несколько юзеров, то лучше SQL, сам лично уже понял. А что конкретно-то нужно, как работать с базами из Дельфи? Подключаешься через ADO (вот пример для MDB)..... и вперёд! smile 

Код

procedure TForm1.FormCreate(Sender: TObject);

begin
conn.Connected:=false;
ado1.Active:=false;
ado2.Active:=false;
ado3.Active:=false;
ado4.Active:=false;
ado5.Active:=false;
ado6.Active:=false;
ado7.Active:=false;
ado8.Active:=false;
ado9.Active:=false;
ado10.Active:=false;
ado11.Active:=false;
ado12.Active:=false;
ado13.Active:=false;
ado14.Active:=false;
ado15.Active:=false;
ado16.Active:=false;
ado17.Active:=false;
ado18.Active:=false;
ado19.Active:=false;
ado20.Active:=false;
ado21.Active:=false;
ado22.Active:=false;
ado23.Active:=false;
ado24.Active:=false;
ado25.Active:=false;
p:=extractfilepath(application.ExeName)+'\info.mdb';
pp:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+p+';Persist Security Info=False';
conn.ConnectionString:=pp;
ado1.TableName:='clients';
ado2.TableName:='dogovor';
ado3.TableName:='zakaz';
ado4.TableName:='users';
ado5.TableName:='rights';
ado6.TableName:='uslugi';
ado7.TableName:='pod_usl';
ado8.TableName:='uslugi_rash';
ado9.TableName:='konvert';
ado10.TableName:='types';
ado11.TableName:='tarif';
ado12.TableName:='vid_otpr';
ado13.TableName:='vlozhenia';
ado14.TableName:='status';
ado15.TableName:='ceh';
ado16.TableName:='ceh_otch';
ado17.TableName:='pril';
ado18.TableName:='pril_main';
ado19.TableName:='bd';
ado20.TableName:='alarm';
ado21.TableName:='audit';
ado22.TableName:='konverts';
ado23.TableName:='kontr';
ado24.TableName:='radmin';
ado25.TableName:='bd_files';
try
conn.Connected:=true;
except
bsSkinMessage1.MessageDlg ('База данных не найдена!',mtinformation,[mbyes],0);
application.Terminate;
application.processmessages;
end;

ado1.Active:=true;
ado2.Active:=true;
ado3.Active:=true;
ado4.Active:=true;
ado5.Active:=true;
ado6.Active:=true;
ado7.Active:=true;
ado8.Active:=true;
ado9.Active:=true;
ado10.Active:=true;
ado11.Active:=true;
ado12.Active:=true;
ado13.Active:=true;
ado14.Active:=true;
ado15.Active:=true;
ado16.Active:=true;
ado17.Active:=true;
ado18.Active:=true;
ado19.Active:=true;
ado20.Active:=true;
ado21.Active:=true;
ado22.Active:=true;
ado23.Active:=true;
ado24.Active:=true;
ado25.Active:=true;
end;




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
comtat
Дата 27.1.2007, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Ну хорошо, что хоть за неделю до диплома вспомнил
Могу скинуть листинг и БД на почту, т.к. прекрепить не получится 
так что давай мыло

В проге есть редактирование, ввод и удаление данных, а также отчеты в Excel


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Tosha
Дата 27.1.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 5.1.2005

Репутация: нет
Всего: нет



:-))))) ребята я очень буду вам благодарен вот мое мыло [email protected]
PM MAIL   Вверх
Данкинг
Дата 27.1.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Пример работы с Вордом: файл dogovor.doc из того же каталога, что и программа, копируется на C:\, открывается, и затем в него подставляются нужные фразы, а также значения из базы данных (ADO1). Всякие переменные вроде sh6, sh7.... - стринговые, соответственно.

Код


procedure tform1.print_dog (sss:char); //1 - просмотр, 2 - печать, 3 - вывод в ворд
var worduk:variant;
begin
if length(bsSkinDBGrid3.Fields[1].AsString)=0 then begin
bsSkinMessage1.MessageDlg ('Сначала выберите договор!',mtinformation,[mbyes],0);
exit;
end;

try
        worduk := GetActiveOleObject('Word.Application');
        bsSkinMessage1.MessageDlg ('Закройте WORD и повторите заново!',mtinformation,[mbyes],0);
        exit;
  except
  end;


sh6:='г. Москва                                                                          '+ Monthstr1(bsSkinDBGrid3.Fields[1].AsString)+chr(13);

sh8:='     Общество с ограниченной ответственностью "&&&&", именуемое в дальнейшем Исполнитель, в лице Генерального директора &&&&., действующего на основании Устава, с одной стороны ';
sh9:='и '+sko2kav(bsSkinDBGrid3.Fields [13].AsString)+', именуемое в дальнейшем Заказчик, в лице '+bsSkinDBGrid3.Fields [11].AsString+' '+bsSkinDBGrid3.Fields [9].AsString+', действующего на основании '+bsSkinDBGrid3.Fields[12].AsString+', с другой стороны, заключили настоящий договор о нижеследующем:'+chr(13);
worduk:=unassigned;
temp_file:=extractfilepath(application.ExeName)+'\dogovor.doc';
copyfile(pchar(temp_file),pchar('c:\dogovor.doc'),false);
worduk:=createoleobject('word.application');
worduk.documents.open ('c:\dogovor.doc');
worduk.visible:=false;

 Worduk.Selection.Font.Bold     := True;
 Worduk.Selection.ParagraphFormat.Alignment := 1;
 worduk.selection.typetext(sh1);
 worduk.selection.typetext(chr(13));
 Worduk.Selection.Font.Bold     := True;
 Worduk.Selection.ParagraphFormat.Alignment := 1;
 worduk.selection.typetext(sh2);
 worduk.selection.typetext(sh3+' № '+bsSkinDBGrid3.Fields [2].AsString);
 worduk.selection.typetext(sh4);
 worduk.selection.typetext(sh5);
 Worduk.Selection.Font.Bold     := false;
 Worduk.Selection.ParagraphFormat.Alignment := 3;
 worduk.selection.typetext(sh6);
 worduk.selection.typetext(sh3);
 worduk.selection.typetext(sh8);
 worduk.selection.typetext(sh9);
 worduk.selection.typetext(chr(13));
 ado1.Locate('name',list2.Items.Strings [list2.itemindex],[locaseinsensitive]);
 worduk.selection.find.text:='<$$$$$>';
 if  worduk.selection.find.execute  then worduk.selection.text:=ado1.FieldValues ['rekvizity'];
 ado2.Locate('name_dog',list2.Items.Strings [list2.itemindex],[locaseinsensitive]);
 worduk.selection.start:=0;
 worduk.selection.end:=worduk.activedocument.characters.count;
 worduk.selection.find.text:='<&&&&&>';
 if  worduk.selection.find.execute then worduk.selection.text:=ado2.FieldValues ['boss_dog'];
worduk.DisplayAlerts:=False;
if sss='1' then begin worduk.visible:=true;worduk.activedocument.saveas ('c:\dogovor.doc');worduk.activedocument.printpreview;worduk:=unassigned;exit;end;
if sss='2' then begin worduk.activedocument.printout;
worduk.activedocument.saveas ('c:\dogovor.doc');
while Worduk.BackgroundPrintingStatus <> 0 do begin end;
worduk.activedocument.close;
worduk.application.quit;
end;
if (sss='3') and (saver1.execute) then begin worduk.activedocument.saveas (saver1.filename);worduk.application.quit;end;
worduk:=unassigned;
end;




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Tosha
Дата 27.1.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 5.1.2005

Репутация: нет
Всего: нет



Цитата(Данкинг @ 27.1.2007,  19:39)
Если несколько юзеров, то лучше SQL, сам лично уже понял. А что конкретно-то нужно, как работать с базами из Дельфи? Подключаешься через ADO (вот пример для MDB)..... и вперёд! smile

да работать желательно из делфи, типа отчет удалить изменить, ну и поиск нужного за разными атрибутами, хотелось бы что бы это было все в красивой форме, а то люди которые будут работать в программе не молодые, они вообще компы не любят :-( может конечно я и доживу когда персонал поменяется на молодых, но пока надо делать все с красивым интрефейсом, да и на дипломе меньше будут придиратся
PM MAIL   Вверх
Данкинг
Дата 27.1.2007, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Поищи инфу о работе с ADO-таблицами - как вносить инфу, искать и т.п. Если есть опыт работы с базами данных, к примеру, на ФоксПро, то понять будет легче. Отчёт в Ворд  - вот я привёл пример.  В Excel - тебе comtat обещал. smile 

Могу выслать на мыло примеры с диска, который прилагался к книге "Работа в Дельфи с MsOffice" (как-то там). Нужно? В архиве около 3 мегов получилось.

Ну и вот ещё, мой вывод в Excel:

Код

procedure tform1.print_ceh(prosm:boolean);//печать для цеха
var
  VExcel: Variant;
  i1,i2,row,col:integer;
begin
try
        VExcel := GetActiveOleObject('Excel.Application');
        bsSkinMessage1.MessageDlg ('Закройте EXCEL и повторите заново!',mtinformation,[mbyes],0);
        exit;
  except
  end;
label26.Visible:=true;
application.ProcessMessages;
ex:=createoleobject('excel.application');
ex.visible:=false;
ex.workbooks.add;
Ex.ActiveSheet.PageSetup.Orientation := xlLandscape;
Ex.ActiveSheet.PageSetup.topmargin:=0;
Ex.ActiveSheet.PageSetup.bottommargin:=0;
Ex.ActiveSheet.PageSetup.leftmargin:=0;
Ex.ActiveSheet.PageSetup.rightmargin:=0;

//ex.activeworkbook.activesheet.Rows[1].HorizontalAlignment := 3;
ex.activeworkbook.activesheet.cells.item[1,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[1,4].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[1,1].ColumnWidth := 25;
ex.activeworkbook.activesheet.cells.item[1,2].ColumnWidth := 15;
ex.activeworkbook.activesheet.cells.item[1,3].ColumnWidth := 15;
ex.activeworkbook.activesheet.cells.item[1,4].ColumnWidth := 20;
ex.activeworkbook.activesheet.Cells[1,4].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.cells.item[1,1]:='Задание на выполнение ЗАКАЗА №';
ex.activeworkbook.activesheet.cells.item[1,2]:=label14.Caption;
ex.activeworkbook.activesheet.cells.item[1,2].interior.color:=clsilver;
ex.activeworkbook.activesheet.cells.item[1,3]:='Код рассылки наш/клиента:';
ex.activeworkbook.activesheet.cells.item[1,4]:=edit7.Text;

//ex.activeworkbook.activesheet.Rows[2].HorizontalAlignment := 3;
ex.activeworkbook.activesheet.cells.item[2,1]:='Дата:';
ex.activeworkbook.activesheet.cells.item[2,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[2,2]:=datetostr(dater3.Date);
ex.activeworkbook.activesheet.cells.item[2,3]:='Менеджер:';
ex.activeworkbook.activesheet.cells.item[2,4]:=label15.Caption;

//ex.activeworkbook.activesheet.Rows[3].HorizontalAlignment := 1;
ex.activeworkbook.activesheet.Rows[3].verticalAlignment := 2;
ex.activeworkbook.activesheet.Range['B3:H3'].Merge;
ex.activeworkbook.activesheet.cells.item[3,1]:='Название компании:';
ex.activeworkbook.activesheet.cells.item[3,2]:=sko2kav (label13.Caption);

ex.activeworkbook.activesheet.cells.item[5,1]:='Количество отправлений:';ex.activeworkbook.activesheet.cells.item[5,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[5,2]:=edit6.Text;
ex.activeworkbook.activesheet.cells.item[6,1]:='Вид почтового отправления:';
ex.activeworkbook.activesheet.cells.item[6,2]:=label22.Caption;
ex.activeworkbook.activesheet.cells.item[7,1]:='Вес (в гр):';ex.activeworkbook.activesheet.cells.item[7,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[7,2]:=label23.Caption;
ex.activeworkbook.activesheet.cells.item[8,1]:='Обратный адрес/наш, заказчика:';
ex.activeworkbook.activesheet.cells.item[8,2]:=edit8.Text;
ex.activeworkbook.activesheet.cells.item[9,1]:='Адреса на этикетках, на бумаге, на листе...';
ex.activeworkbook.activesheet.cells.item[9,2]:=edit9.Text;
ex.activeworkbook.activesheet.cells.item[10,1]:='Совмещение персонализации/да, нет:';
ex.activeworkbook.activesheet.cells.item[10,2]:=edit10.Text;
ex.activeworkbook.sheets[1].Cells[5,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[5,2].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[6,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[6,2].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[7,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[7,2].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[8,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[8,2].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[9,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[9,2].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[10,1].Borders.lineStyle := 1;
ex.activeworkbook.sheets[1].Cells[10,2].Borders.lineStyle := 1;

ex.activeworkbook.activesheet.cells.item[12,1]:='КОНВЕРТ';
ex.activeworkbook.activesheet.Rows[12].Font.Bold := True;
ex.activeworkbook.activesheet.Rows[13].Font.Bold := True;
ex.activeworkbook.activesheet.cells.item[13,7].ColumnWidth := 15;
ex.activeworkbook.activesheet.cells.item[13,4].ColumnWidth := 15;
ex.activeworkbook.activesheet.Rows[13].HorizontalAlignment := 3;
ex.activeworkbook.activesheet.Cells[13,1].Borders[1].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,1].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,2].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,3].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,4].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,5].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,6].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,7].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,7].Borders[2].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[13,1].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,2].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,3].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,4].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,5].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,6].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,7].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,1].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,2].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,3].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,4].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,5].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[13,6].Borders[2].lineStyle := 1;

ex.activeworkbook.activesheet.Rows[13].verticalAlignment := 2;
ex.activeworkbook.activesheet.cells.item[13,1]:='Название';
ex.activeworkbook.activesheet.cells.item[13,2]:='Тираж';
ex.activeworkbook.activesheet.cells.item[13,3]:='Собств./заказчика';
ex.activeworkbook.activesheet.cells.item[13,4]:='Вид/формат';
ex.activeworkbook.activesheet.cells.item[13,5]:='Дата привоза материала';
ex.activeworkbook.activesheet.cells.item[13,6]:='Кто привозит материал';
ex.activeworkbook.activesheet.cells.item[13,7]:='Примечание';
ex.activeworkbook.activesheet.cells.item[14,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[14,5].NumberFormat:='@';

ex.activeworkbook.activesheet.cells.item[14,1]:=ado9.FieldValues ['nazv'];
ex.activeworkbook.activesheet.cells.item[14,2]:=ado9.FieldValues ['tirazh'];
ex.activeworkbook.activesheet.cells.item[14,3]:=ado9.FieldValues ['chey'];
ex.activeworkbook.activesheet.cells.item[14,4]:=ado9.FieldValues ['vid'];
ex.activeworkbook.activesheet.cells.item[14,5]:=ado9.FieldValues ['data_priv'];
ex.activeworkbook.activesheet.cells.item[14,6]:=ado9.FieldValues ['kto_priv'];
ex.activeworkbook.activesheet.cells.item[14,7]:=ado9.FieldValues ['prim'];
ex.activeworkbook.activesheet.Cells[14,1].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,2].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,3].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,4].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,5].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,6].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,7].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,1].Borders[1].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,7].Borders[2].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[14,1].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[14,2].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[14,3].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[14,4].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[14,5].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[14,6].Borders[2].lineStyle := 1;

ex.activeworkbook.activesheet.cells.item[16,1]:='ВЛОЖЕНИЯ';
ex.activeworkbook.activesheet.Rows[16].Font.Bold := True;
ex.activeworkbook.activesheet.Rows[17].Font.Bold := True;
ex.activeworkbook.activesheet.cells.item[17,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,3].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,4].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,5].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,6].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,7].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,8].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,9].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[17,10].NumberFormat:='@';
ex.activeworkbook.activesheet.Rows[17].verticalAlignment := 2;
ex.activeworkbook.activesheet.Rows[17].HorizontalAlignment := 3;
ex.activeworkbook.activesheet.cells.item[17,1]:='Название';
ex.activeworkbook.activesheet.cells.item[17,2]:='Тираж';
ex.activeworkbook.activesheet.cells.item[17,3]:='Порядок вложения';
ex.activeworkbook.activesheet.cells.item[17,4]:='Формат';
ex.activeworkbook.activesheet.cells.item[17,5]:='Обозначение бланка';
ex.activeworkbook.activesheet.cells.item[17,6]:='Название строки фальцовки';
ex.activeworkbook.activesheet.cells.item[17,7]:='Совмещение персонализации';
ex.activeworkbook.activesheet.cells.item[17,8]:='Дата привоза материала';
ex.activeworkbook.activesheet.cells.item[17,9]:='Кто привозит материал';
ex.activeworkbook.activesheet.cells.item[17,10]:='Примечание';
ex.activeworkbook.activesheet.Cells[17,1].Borders[1].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,1].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,2].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,3].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,4].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,5].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,6].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,7].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,8].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,9].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,10].Borders[3].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,10].Borders[2].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[17,1].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,2].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,3].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,4].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,5].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,6].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,7].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,8].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,9].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,10].Borders[4].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,1].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,2].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,3].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,4].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,5].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,6].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,7].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,8].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.Cells[17,9].Borders[2].lineStyle := 1;
ex.activeworkbook.activesheet.cells.item[17,10].ColumnWidth := 15;
ex.activeworkbook.activesheet.cells.item[17,6].ColumnWidth := 10;

row:=18;
ado13.First;
for i1:=1 to ado13.RecordCount do
 begin
 ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@';
 ex.activeworkbook.activesheet.cells.item[row,8].NumberFormat:='@';
 ex.activeworkbook.activesheet.cells.item[row,1]:=ado13.FieldValues ['nazv'];
 ex.activeworkbook.activesheet.cells.item[row,2]:=ado13.FieldValues ['tirazh'];
 ex.activeworkbook.activesheet.cells.item[row,3]:=ado13.FieldValues ['por_vlozh'];
 ex.activeworkbook.activesheet.cells.item[row,4]:=ado13.FieldValues ['format'];
 ex.activeworkbook.activesheet.cells.item[row,5]:=ado13.FieldValues ['obozn_blan'];
 ex.activeworkbook.activesheet.cells.item[row,6]:=ado13.FieldValues ['nazv_fal'];
 ex.activeworkbook.activesheet.cells.item[row,7]:=ado13.FieldValues ['sovm_pers'];
 ex.activeworkbook.activesheet.cells.item[row,8]:=ado13.FieldValues ['data_priv'];
 ex.activeworkbook.activesheet.cells.item[row,9]:=ado13.FieldValues ['kto_priv'];
 ex.activeworkbook.activesheet.cells.item[row,10]:=ado13.FieldValues ['prim'];
 ex.activeworkbook.activesheet.Cells[row,1].Borders[1].lineStyle := xldouble;
 ex.activeworkbook.activesheet.Cells[row,10].Borders[2].lineStyle := xldouble;
 ex.activeworkbook.activesheet.Cells[row,1].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,2].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,3].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,4].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,5].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,6].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,7].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,8].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,9].Borders[2].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,1].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,2].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,3].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,4].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,5].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,6].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,7].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,8].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,9].Borders[4].lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,10].Borders[4].lineStyle := 1;
 inc(row);
 ado13.Next;
 end;

dec(row);
ex.activeworkbook.activesheet.Cells[row,1].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,2].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,3].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,4].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,5].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,6].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,7].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,8].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,9].Borders[4].lineStyle := xldouble;
ex.activeworkbook.activesheet.Cells[row,10].Borders[4].lineStyle := xldouble;

inc(row,2);
ex.activeworkbook.activesheet.Rows[row].Font.Bold := True;
ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[row,1]:='Планируемые сроки упаковки:';
ex.activeworkbook.activesheet.cells.item[row,2]:=ado15.FieldValues ['srok_upak'];
ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1;
inc(row);
ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.Rows[row].Font.Bold := True;
ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[row,1]:='Планируемые сроки отправки Заказчика в днях:';
ex.activeworkbook.activesheet.cells.item[row,2]:=ado15.FieldValues ['srok_otpr'];

inc(row,2);
ex.activeworkbook.activesheet.cells.item[row,1]:='По факту:';
ex.activeworkbook.activesheet.Rows[row].Font.Bold := True;
inc(row);
ex.activeworkbook.activesheet.Rows[row].verticalAlignment := 2;
ex.activeworkbook.activesheet.Rows[row].HorizontalAlignment := 3;
ex.activeworkbook.activesheet.Rows[row].Font.Bold := True;
ex.activeworkbook.activesheet.cells.item[row,1].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[row,3].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[row,1]:='Дата';
ex.activeworkbook.activesheet.cells.item[row,2]:='Количество упакованного';
ex.activeworkbook.activesheet.cells.item[row,3]:='Количество на маркировке';
ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1;
ex.activeworkbook.activesheet.Cells[row,3].Borders.lineStyle := 1;
inc(row);

ado16.First;
for i1:=1 to ado16.RecordCount do
 begin
 ex.activeworkbook.activesheet.cells.item[row,1].NumberFormat:='@';
 ex.activeworkbook.activesheet.cells.item[row,2].NumberFormat:='@';
 ex.activeworkbook.activesheet.cells.item[row,3].NumberFormat:='@';
 try
 ex.activeworkbook.activesheet.cells.item[row,1]:=datetostr(ado16.FieldValues ['data']);
 except
 end;
 ex.activeworkbook.activesheet.cells.item[row,2]:=ado16.FieldValues ['kolvo_upak'];
 ex.activeworkbook.activesheet.cells.item[row,3]:=ado16.FieldValues ['kolvo_mark'];
 ex.activeworkbook.activesheet.Cells[row,1].Borders.lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,2].Borders.lineStyle := 1;
 ex.activeworkbook.activesheet.Cells[row,3].Borders.lineStyle := 1;
 inc(row);
 ado16.Next;
 end;


row:=ex.ActiveSheet.UsedRange.Rows.Count;
col:=ex.ActiveSheet.UsedRange.Columns.Count;
for i1:=1 to row do
  begin
  ex.activeworkbook.activesheet.Rows[i1].Font.Size := 8;
   for i2:=1 to col do
    begin
     ex.activeworkbook.activesheet.Cells[i1,i2].WrapText:=true;
     end;
   end;


label26.Visible:=false;
Ex.DisplayAlerts:=False;
//Ex.ActiveWorkBook.Printout;
if prosm=true then begin ex.visible:=true;ex.ActiveWorkBook.activesheet.Printpreview;end else Ex.ActiveWorkBook.Printout;
//Ex.ActiveWorkbook.SaveAs(extractfilepath(application.ExeName)+'temp.xls');
ex.application.quit;
ex:=unassigned;

end;





--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Tosha
Дата 27.1.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 5.1.2005

Репутация: нет
Всего: нет



Цитата(Данкинг @ 27.1.2007,  22:08)
Могу выслать на мыло примеры с диска, который прилагался к книге "Работа в Дельфи с MsOffice" (как-то там). Нужно? В архиве около 3 мегов получилось.


буду благодарен если вышлешь, моё мыло [email protected] и спасибо большое за проявленное понимание и за примеры
PM MAIL   Вверх
Данкинг
Дата 27.1.2007, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Выслал... Всегда на здоровье! smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
comtat
Дата 28.1.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Про экспорты в Excel и Word очень хорошая статья ТУТА за нее огромное спасибо Albinos_x

Листинг высылаю на почту, а потом и саму БД
Надеюсь пригодится  smile 


P.S. Для работы с пргой потребуется qtintf70.dll, т.к. использутся VCL весит она около 4Мб, скачать ее мона в инете.

Это сообщение отредактировал(а) comtat - 28.1.2007, 12:53


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
comtat
Дата 29.1.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Вот структура БД user posted image


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
comtat
Дата 30.1.2007, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Линк на БД скинул в личку  smile 


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0969 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.