Con la ayuda del compañero Mauricio Baeza logre llegar a este macro que
actualmente uso. sirve para calcular cuanto se gasta en un proyecto en
base a las ordenes de compras contenidas en un base PostgreSQL, conectada
al programa SQL Ledger.
Sub Gastoproy
Dim Basededatos As Object
Dim FuenteDeDatos As Object
Dim Conexion As Object
Dim Manejador As Object
Dim Doc As Object
DIM Hoja As Object
Dim Celda As Object
Dim importDesc(2) As New com.sun.star.beans.PropertyValue
Dim Proyecto As String
Dim Consultas as Object
'Este proceso lo copie y peque para que borrara el contenido de las celdas
a
'donde se instalará el resultado de la consulta.
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$6"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Sel"
args2(0).Value = true
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$6"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
'Creo la conexión a la base de datos
Basededatos = CreateUnoService("com.sun.star.sdb.DatabaseContext")
FuenteDeDatos = Basededatos.getByName("avance contable")
'Si necesita contraseña, manda un cuadro de diálogo para pedirla
If Not FuenteDeDatos.IsPasswordRequired Then
Conexion = FuenteDeDatos.GetConnection("","")
Else
Manejador = createUnoService("com.sun.star.sdb.InteractionHandler")
Conexion = FuenteDeDatos.ConnectWithCompletion(Manejador)
End If
'Obtengo el valor de la celda B2, donde esta el valor a buscar
Hoja = ThisComponent.getCurrentController.getActiveSheet()
Celda = Hoja.getCellByPosition(2, 2)
'Este es el truco para hacer la consulta
ImportDesc(0).Name = "DatabaseName"
ImportDesc(0).Value = "avance contable"
ImportDesc(1).Name = "SourceType"
ImportDesc(1).Value = com.sun.star.sheet.DataImportMode.SQL
ImportDesc(2).Name = "SourceObject"
ImportDesc(2).Value = "SELECT qty,sellprice, reqdate, description FROM
orderitems WHERE project_id = " + Celda.String
'Realizo la consulta y la público a partir de la celda A5
Hoja.getCellRangeByName("A5").doImport(importDesc())
'Por último cambio el título de los encabezados
Celda = Hoja.getCellByPosition(0, 4)
Celda.String = "Cantidad"
Celda = Hoja.getCellByPosition(1, 4)
Celda.String = "Precio"
Celda = Hoja.getCellByPosition(2, 4)
Celda.String = "Fecha de entrega"
Celda = Hoja.getCellByPosition(3, 4)
Celda.String = "Descripción"
End sub
On Fri, Mayo 26, 2006, ""Milena Ortiz C."" <[EMAIL PROTECTED]> dijo:
> Buen día a todos. Tengo esta inquietud. Resulta que tengo esta funcion que
> me realiza una consulta desde las macros de openoffice a SQL 2000, mi
> pregunta es como puedo mostrar el resultado dentro de una hoja de cálculo y
> si es posible parametrizarla.
>
> La consulta es la siguiente:
>
>
> Public Function Consulta(OrigenDatos As Object) As Object
> Dim Expresion As Object
> Dim oTmp As Object
> Expresion = OrigenDatos.createStatement()
> oTmp =Expresion.executeQuery ("Select * from bdgaaa where bodega ='05'")
> oTmp.next()
> If oTmp.getRow > 0 Then
> Set Consulta = oTmp
> End If
> End Function
>
> La idea es que en una celda de la hoja de calculo digite el número de bodega
> y la consulta se pueda ejecutar dependiendo del valor de esta celda.
>
> Muchas gracias por su colaboración.
>
>
> Cordialmente,
>
> Milena Ortiz C.
> Auxiliar de Sistemas
> NEW STETIC S.A.
> Mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> Carrera 53 No.50-09 Km. 22 Aut. Med-Bog
> Guarne - Antioquia - Colombia - Suramérica
> Phone : (574) 550-00-00 Ext. 265
> Fax : (574) 551-31-34
> Visítenos en: www.newstetic.com <http://www.newstetic.com/>
>
>
>
>
>
>
>
> -----Mensaje original-----
> De: Alexandro Colorado [mailto:[EMAIL PROTECTED]
> Enviado el: Viernes, 26 de Mayo de 2006 10:57 a.m.
> Para: [email protected]
> Asunto: Re: [d_es] Pronto la RC3
>
>
> On Fri, 26 May 2006 08:25:21 -0500, <[EMAIL PROTECTED]> wrote:
>
>> Les queria hacer una consulta. Desde que pagina se puede bajar?
>
> Puedes bajarlo de aqui:http://es.openoffice.org/programa/index.html
>
>> Muchas gracias.
>>
>> Saludos, Carlos
>>
>> Mensaje citado por: Juan CAVERO <[EMAIL PROTECTED]>:
>>
>>> Gracias por la dirección.
>>> Otra cosa, ¿se puede instalar encima de la 2.0 o hay que desinstalar
>>> primero la versión antigua?
>>> Gracias por adelantado.
>>>
>>> 2006/5/24, Ivan <[EMAIL PROTECTED]>:
>>>
>>> > >
>>> ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> > > For additional commands, e-mail: [EMAIL PROTECTED]
>>> > >
>>> > >
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>> __________________________________
>> Registrate desde
>> http://servicios.arnet.com.ar/registracion/registracion.asp?origenid=9 y
>> participá de todos los beneficios del Portal Arnet.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
>
> --
> Alexandro Colorado
> CoLeader of OpenOffice.org ES
> http://es.openoffice.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Eduardo Moreno
TOKONHU de México
044 55 5182 4398
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]