On Thu, 21 May 2009 11:03:13 -0500, francisco f. <[email protected]> wrote:

Seguimos dando guerra.
OOo 3.1 contra una BD mysql
Necesito ejecutar una secuencia sql tal que

update `lineas-factura` set `total` =concat(`cantidad`*`precio-baremo`) where
`Id-factura` = 1

Es facil, solo multiplica cantidad por el precio unitario y lo coloca en total

Quiero asignar esto a un boton con una macro que la ejecute.

Para esto simplemente crea un boton en la barra que necesites (agregar boton personalizado) y la dirijes a la instruccion Macros -> Tu Modulo.

Sacado de un correo de Alexandro

Sub calculatotallineas ( event as Object )
 Dim sTableName$ 'El nombre de la nueva tabla
 Dim oTable 'valor para la tabla en la base de datos
 Dim oTables 'Tablas en el documento
 Dim oTableDescriptor 'Define el funcionamiento de una tabla
 Dim oCols 'Las columnas de una tabla
 Dim oCol 'Descripcion de una columna
 Dim oCon 'Conexion a la db
 Dim oBaseContext 'Database context service.
 Dim oDB 'Fuente de almacenamiento de la base de datos
 Dim oResult 'Resultado de SQL
 Dim nCount As Long 'Contando variables
Dim oStmt
Dim sSql$
 eng = "en-ga"

REM Usa DatabaseContext para obtener la referencia de una DB.
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName(eng) --------------------- aqui ya se queda y
dice que no existe la BD
oCon = oDB.getConnection("en-ga", "en-ga")

¿El login y pass hace falta si el ooo ya los dio para conectarse al iniciar?

Creo que si, aunque puedes crear una libreria (similar a PHP) donde solo se llame a la conexion. Hay un comando para llamar el modulo de conexion.



strSQL = "update ""lineas-factura"" " & "set " & """total"" = "
& "(""cantidad""" & " " & "*" & " " & """precio-baremo"")" & " " & "where"
& " " & """Id-factura""" & " = " & "1"

oStmt = oCon.createStatement()
oResult = oStmt.executeQuery(strSQL)

End Sub

Bueno a ver si alguien sabe algo de esto


--
Alexandro Colorado
CoLeader of OpenOffice.org ES
http://es.openoffice.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Responder a