![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Hola forofos:
Leyendo en el historial del foro encontre como trasladar registros de mi base de datos a una plantilla word(certificado). Hasta ahi todo xevere. La cuestion es que al trasladar la informacion me abre un documento por cada registro, lo que quisiera saber es si se puede trasladar la informacion de los registros pero en un unico documento word. Agradeciendo anticipadamente por sus sugerencias, me despido. Saludos. |
|
#2
|
||||
|
||||
|
No somos adivinos. Si no nos indicas cuál es el código que usaste, ¿cómo vamos a saber qué anda mal?
// Saludos |
|
#3
|
|||
|
|||
|
Aqui esta el codigo.
Código:
procedure TdlgLRetenc.spComprobClick(Sender: TObject);
var
Word: Variant;
Documento: Variant;
// i: smallint;
begin
(* Creas un objeto Word *)
try
Word := CreateOleObject('Word.Application');
except
Application.MessageBox('No se puede puede conectar con MS (c) Word',
'Liquidación de Aportes y Retenciones', MB_OK + MB_ICONERROR);
exit;
end;
dmMntPlan.ibqLRetenc.First;
while not dmMntPlan.ibqLRetenc.Eof do
begin
if dmMntPlan.ibqLRetenc.FieldValues['ESTADO'] = 'S' then
begin
(* Añades un documento basado en la plantilla *)
Word.Documents.Add('c:\sistemas\sisplani\RENTEC_27605.dot'); //Esto abre un documento por cada archivo
Documento := Word.Documents.Item(1);
(* Asignas valores a los campos *)
Documento.Variables.Add('EJERCICIO', cVGPeriTra);
Documento.Variables.Add('RAZON_SOCIAL', cVGrazsoc);
Documento.Variables.Add('RUC', cvgNroRuc);
Documento.Variables.Add('TRABAJ', dmMntPlan.ibqLRetenc.FieldValues['NOMBRES']);
if Copy(ComboBox1.Items[ComboBox1.ItemIndex], 1, 2) = '02' then
Documento.Variables.Add('TIPDOC', 'D.N.I.')
else
Documento.Variables.Add('TIPDOC', 'CUSSP');
if Copy(ComboBox1.Items[ComboBox1.ItemIndex], 1, 2) = '02' then
Documento.Variables.Add('SISPEN', 'S.N.P.')
else
Documento.Variables.Add('SISPEN', 'S.P.P. ' + ComboBox1.Items[ComboBox1.ItemIndex]);
Documento.Variables.Add('NUMDOC', dmMntPlan.ibqLRetenc.FieldValues['DOCUM']);
Documento.Variables.Add('TOTAL_RETENC', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['APTE_SNP'] +
dmMntPlan.ibqLRetenc.FieldValues['APTE_SPP']));
Documento.Variables.Add('TOTAL_REMUN', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['TOTAL_REMUN']));
Documento.Variables.Add('APTE_SNP', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['APTE_SNP']));
Documento.Variables.Add('APTE_SPP', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['APTE_SPP']));
Documento.Variables.Add('COMISION', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['COMISION']));
Documento.Variables.Add('PRIMA', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['PRIMA']));
Documento.Variables.Add('CUENTA_INDIV', FormatFloat(',0.00', dmMntPlan.ibqLRetenc.FieldValues['INDIV']));
//Documento.Fields.ToggleShowCodes;
Documento.Fields.Update;
end;
dmMntPlan.ibqLRetenc.Next;
end;
Word.Visible := true;
end;
|
|
#4
|
||||
|
||||
|
Bueno, al parecer está haciendo justamente lo que le estás diciendo que haga, esto es, estás creando un nuevo documento en cada vuelta del ciclo:
Supongo que esas dos líneas deben ir antes de comenzar el ciclo. // Saludos |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Google Talk, abierto a todos | marcoszorrilla | Noticias | 0 | 30-09-2006 21:09:24 |
| Firebird talk en fbtalk.net | Delfino | Noticias | 1 | 28-12-2005 14:56:15 |
| Google Talk - El cliente de mensajería de Google | dec | Noticias | 18 | 26-08-2005 09:11:39 |
| modificar documento word sin el word instalado | joaquinmol | Servers | 0 | 30-03-2005 19:58:54 |
| De QRP a WORD | PaulaG | Impresión | 1 | 14-06-2003 22:26:31 |
|