Intentaré ser lo mas claro posible, he copiado y adaptado una macro de la aplicación Gestfactura del amigo RMG, al cual le agradezco la ayuda que obtengo con su aplicación. La macro en cuestión me funciona correctamente si la BD es una base incrustada, pero me da error si la quiero utilizar en una BD en Postgresql, la macro es la siguiente :
Código: Seleccionar todo
Sub ImprimirFactura( Evento )
Dim oReporte As Object
Dim oConsulta As Object
Dim oCampoID As Object
Dim oForm As Object
'El formulario activo
oForm = Evento.Source.Model.Parent
'El campo con el Id
oCampoID = oForm.GetByName("ID_Factura")
'Debe ser mayor a cero
If oCampoID.BoundField.Int < 0 Then Exit Sub
'La consulta en la que se basa el reporte
oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("conFiltro")
'Modificamos la consulta de modo que tome el registro actual
oConsulta.Command = "SELECT ""ID_Factura"",""Numero"" FROM ""tabFacturas"" WHERE ""ID_Factura"" = " & oCampoID.BoundField.Int
'El informe a mostrar
oReporte = ThisDatabaseDocument.ReportDocuments.getByName ("InformeFactura" )
'Mostramos el reporte
oReporte.Open
End Sub
pq_driver: [PGRES_FATAL_ERROR]ERROR: no existe la relación «tabBestretaPersonal»
LINE 1: SELECT "ID_BestPer", "Data" FROM "tabBestretaPersonal" WHERE...
^
(caused by statement 'SELECT "ID_BestPer", "Data" FROM "tabBestretaPersonal" WHERE "ID_BestPer" = 4')
Es un problema de drivers ?
Trabajo con Windows 10 y LibreOffice 5.1.6.2
Muchas gracias por vuestra atención.
Un saludo
Perdón se me olvidaba, la versión de PostgreSQL es la 9.5