Hola a todos soy nuevo en el foro, en realidad no voy a consultar nada solamente espero hacer aportes y espero que sea de ayuda para alguien, he estado programando macros en base y no encontre mucha ayuda en la web por eso coloco aqui el codigo explicado de como conectarse a una base de datos en un form de base, y de como pasar un registro a otra tabla y luego borrarlo, primero tienen que hacer un formulario, luego tienen que hacer el macro, en herramientas>macros>organizar macros>openoffice.org basic..., haceindo click en nuevo. luego lo asignan al evento "boton del raton pulsado"
sub insertar(event As Object)
Dim Form As Object
Dim numero As string
Dim oStmt
Dim sSql$
Dim iBox as Integer
iBox = MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION
Form=Event.Source.Model.Parent 'obtengo el form
numero=Form.getByName("campo_num").Text 'busco el componente y el contenido lo pongo en la variable
'**************coneccion con la base de datos*********************
sName = ConverttoURL("C:\base_de_datos.odb")
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName(sName)
oCon = oDB.getConnection("", "")
'*****************************************************************
If MsgBox ("Desea cambiar el registro numero:" + numero + Chr(13) + _
"a la tabla tabla2?", iBox) = IDYES Then
sSql = "INSERT INTO ""tabla2"" (""campo1"",""campo2"",""campo3"") SELECT ""campo1"",""campo2"",""campo3"" FROM ""tabla"" WHERE ""NUMERO"" = ? "
oStmt = oCon.PrepareStatement(sSql) 'seteo los parametros
oStmt.Setstring( 1 , numero) 'parametro 1 (?)
oStmt.executeUpdate()
sSql = "DELETE FROM tabla1 WHERE NUMERO = ?"
oStmt = oCon.PrepareStatement(sSql) 'seteo los parametros
oStmt.Setstring( 1 , numero) 'parametro 1 (?)
oStmt.executeUpdate() 'ejecuto la consulta
Form.Reload 'hace un refresh del form
'**********Limpio los campos ***************
Form.getByName("campo_num").Text=""
Form.getByName("marca").Text=""
Form.getByName("matricula").Text=""
Form.getByName("compra").Text=""
Form.getByName("modelo").Text=""
'********************************************
end if
oCon.close()
oCon.dispose()
end sub
a continuacion les dejo unas imagenes
conexion mediante macro en oobase
Reglas del Foro
Este sub-foro no es para hacer preguntas
Aquí encontrará guías básicas sobre cómo utilizar AOO Base. Para realizar preguntas sobre estas guías, por favor inicie un nuevo tema en el sub-foro apropiado.
También puede consultar la Documentación disponible sobre Apache OpenOffice
Este sub-foro no es para hacer preguntas
Aquí encontrará guías básicas sobre cómo utilizar AOO Base. Para realizar preguntas sobre estas guías, por favor inicie un nuevo tema en el sub-foro apropiado.
También puede consultar la Documentación disponible sobre Apache OpenOffice