FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Talk con Word
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
|
|||
|
|||
Talk con Word
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 |
|