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]