|
|
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Имеется следующая задача. В БД Visual Foxpro есть таблица Заказчиков. Есть интерфейс на эту БД. Существует стандартный шаблон контракта в формате MS Word. Необходимо из интерфейса формировать контракт с автоматическим заполнением информации о Заказчике. Вопросы. 1. Как изменить стандартный шаблон контракта (добавить туда поля)? 2. Как в эти поля передать значения из таблицы? Заранее благодарен за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:15:30 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Ну для начала нужно хотя бы открыть шаблон и посмотреть как организовано слияние, рассказать публике и задать уточняющие вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:23:15 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
В том-то и дело, что пока нет никакого слияния. Есть документ MS Word. В него, видимо, необходимо вставить объекты, взаимодействующие с базой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:31:47 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Почитай http://forum.foxclub.ru/read.php?f=5&i=97007&t=97007 может подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:35:50 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Hi MikeS! Вот тебе 2 простых варианта на выбор: 1) Формируется временная таблица с данными для "слияния", в Word используется механизм "слияния" (MailMerge) - там указывается откуда брать данные (можно через ODBC к VFP таблице, или "напрямую" если таблицу сохранить как COPY TO ... TYPE FOX2X AS 866 - для простоты СНАЧАЛА сделай такую таблицу, потом рисуй шаблон в Word), выбираются поля для слияния, пишется текст и т.д. - всё можно почитать в хелпе к MS Word - причём "инициировать" процесс слияния конечно можно программно - из фокса, или из макроса в самом Word. 2) В шаблон документа вставляются "закладки", потом он открывается через OLE в фоксе, и уже фоксовая программа ищет закладки и вставляет туда нужный текст. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2005, 23:36:43 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Если ВЫ не против, то небольшое дополнение: Довольно часто с этим сталкиваюсь. Для работы с макросом Word необходим файл заголовка данного приложения. А в принципе: записал макрос, изменил синтаксис (достаточно большое количество различий, но разобраться не очень трудно), вставил в Fox. Если нужен простенький листинг для примера, то всегда пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2005, 23:53:54 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
to den_moroz. Буду очень признателен за листинг примера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 10:26:15 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
to Igor Korolyov. А можно пример кода 2-го варианта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 10:29:20 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Здесь уже высказано довольно много рекомендаций, но я тоже вставлю свои пять копеек :) 1. Для работы с Word нужны файлы заголовков (описание вордовских констант): создание файлов заголовков подробно расписано в Базияне (Часть V, Глава 21, "Константы в коде макроса"). 2. Форма контракта, насколько я понимаю, постоянная, т.е. можно просто открывать документ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. дальше находишь и запоминаешь позиции всех полей, куда надо вставить данные из БД (считаешь вручную, перед использованием в проге). используя loword.selection.movedown (moveright, ...) становишься в нужное место и вставляешь что надо (но обязательно из таблицы с кодировкой 866, как уже отмечал Igor Korolyov). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 13:21:43 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
To MikeS: Посмотрите у себя в почте - я Вам отправил подробнейшую "инструкцию" (doc-файл в rar-архиве) от Базияна; практически - точно для Вашего случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 21:44:45 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
Простенький пример: Есть таблица с 3-мя текстовыми полями (Фамилия-FAM, Имя-NAM, Отчество-OT4 ) Далее листинг: USE my_table kl_recc1 = RECCOUNT() *!* #include Word.h && Все необходимые перененные уже определеы && если нужны другие возможности Word && необходимо использовать файл заголовка #Define true .T. #Define false .F. #Define wdAlignParagraphCenter 1 #Define wdToggle 9999998 #Define wdAlignParagraphLeft 0 #Define wdOrientLandscape 1 #Define wdPrinterDefaultBin 0 #Define wdSectionNewPage 2 #Define wdAlignVerticalTop 0 #Define wdCellAlignVerticalTop 0 #Define wdStory 6 #Define wdLine 5 #Define wdCharacter 1 *************** old=On('error') On Error oExcel=.Null. oExcel=Getobject(,'word.application') On Error &old If Isnull(oExcel) oExcel=Createobject('word.application') Endi oExcel.Visible = .t. With oExcel .documents.Add('Normal',false) With .ActiveDocument.PageSetup .Orientation = wdOrientLandscape .TopMargin=30 .BottomMargin = 30 .LeftMargin = 115 .RightMargin = 30 Endwith With .Selection .Font.Size = 14 .Font.Bold = wdToggle .TypeText('Какой-то текст') .ParagraphFormat.Alignment = wdAlignParagraphCenter .TypeParagraph .TypeText('Еще что-нибудь в этом роде,') .ParagraphFormat.Alignment = wdAlignParagraphCenter .TypeParagraph .TypeText('ну и еще какая-нибудь информация') .TypeParagraph .TypeParagraph .TypeParagraph .Font.Size = 12 .Font.Bold = wdToggle Endwith .ActiveDocument.Tables.Add (.Selection.Range, kl_recc1,4) .ActiveDocument.Tables(1).Columns(1).SetWidth(43,0) .ActiveDocument.Tables(1).Columns(2).SetWidth(73.4,0) .ActiveDocument.Tables(1).Columns(3).SetWidth(134.65, 0) .ActiveDocument.Tables(1).Columns(4).SetWidth(190.9, 0) .ActiveDocument.Tables(1).Select .Selection.Cells.VerticalAlignment = 1 .Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft .Selection.MoveUp(wdLine,1) For i = 1 To 4 .Selection.MoveRight(wdCharacter,1) .Selection.Font.Bold = wdToggle .Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter Endfor iotable = .ActiveDocument.Tables(1) Declare data_sub[kl_recc1,4] data_sub[1,1] = '№ п/п' data_sub[1,2] = 'Фамилия' data_sub[1,3] = 'Имя' data_sub[1,4] = 'Отчество' GO TOP cur_recc = 0 For i = 2 To kl_recc1 cur_recc = cur_recc+1 data_sub[i,1] = cur_recc data_sub[i,2] = ALLTRIM(fam) data_sub[i,3] = ALLTRIM(nam) data_sub[i,4] = ALLTRIM(ot4) Skip Endfor With iotable For lnrow = 1 To Alen(data_sub,1) For lncolumn = 1 To Alen(data_sub,2) .cell(lnrow,lncolumn).Range.insertAfter(data_sub[lnrow,lncolumn]) Endfor Endfor Endwith .Selection.EndKey (wdStory) With .Selection .Font.Size = 14 .Font.Bold = wdToggle .TypeParagraph .TypeParagraph .TypeText('Директор Фамилия') .ParagraphFormat.Alignment = wdAlignParagraphLeft .TypeParagraph .TypeParagraph .TypeText('Начальник Фамилия') .ParagraphFormat.Alignment = wdAlignParagraphLeft .TypeParagraph .Font.Size = 12 .Font.Bold = wdToggle ENDWITH ENDWITH Буду очень рад любым замечаниям и коментариям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 00:44:40 |
|
||
|
Как передать данные из базы данных Visual Foxpro в документ Word
|
|||
|---|---|---|---|
|
#18+
neznajkaTo MikeS: Посмотрите у себя в почте - я Вам отправил подробнейшую "инструкцию" (doc-файл в rar-архиве) от Базияна; практически - точно для Вашего случая. И мне, плиз! w_n_b (собака) mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 13:51:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32972542&tid=1594102]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 327ms |

| 0 / 0 |
