Haz tu Pregunta
0

No hay acceso al objeto. Uso no valido de un objeto.

preguntado 2019-08-13 13:38:39 +0200

Imagen Gravatar de nikfer

Hola, Tengo una bd en mysql en un servidor virtual, al ejecutar una macro que ejecuta una sentencia SQL para añadir una registro a una tabla me aparece este error: No hay acceso al objeto. Uso no valido de un objeto.

Sub Main() Dim Control as Object Dim oStat As Object Dim sSQL As String Dim oRes As Object

'añado entrada en log de sesion conectada del usuario.
If IsNull(ThisComponent.CurrentController.ActiveConnection) Then
    ThisComponent.CurrentController.connect 
End if
oStat=ThisDatabaseDocument.CurrentController.ActiveConnection.CreateStatement()
sSQL="INSERT INTO Log_tb (id, momento, usuario, fb) " &_ 
"VALUES (NULL ,CURRENT_TIMESTAMP ,LEFT(CURRENT_USER(), INSTR(CURRENT_USER(), '@') - 1) ,'F' );"
oRes=oStat.ExecuteUpdate(sSQL) ' **Aqui es donde ocurre el error**

End Sub

edit re-etiquetar marcar como ofensivo cerrar fusionar delete

Comments

Y te funciona la misma sentencia SQL ejecutándola directamente tomando el valor que tienes en sSQL.

Imagen Gravatar de m.a.riosv m.a.riosv ( 2019-08-13 16:45:02 +0200 )edit

Si m.a.riosv. La sentencia sql es correcta. Fue construida y comprobada con la utilidad SQL del mismo libreoffice.

Imagen Gravatar de nikfer nikfer ( 2019-08-13 20:06:20 +0200 )edit

1 Responder

Ordenar por » viejos nuevas más votado
0

respondido 2019-08-19 17:43:23 +0200

Imagen Gravatar de nikfer

hola a todos,

Al final, he estado buscando por todo internet,y realizando pruebas y he conseguido obtener una macro que lo hace.

Sub InsertRecord

REM INSERT RECORDS INTO DATABASE TABLE

Dim Context

Dim DB

Dim Conn

Dim Stmt

Dim Result

Dim strSQL As String

Context=CreateUnoService("com.sun.star.sdb.DatabaseContext") '< get the database context

DB=Context.getByName("DATABASENAME") '<- change database name

Conn=DB.getConnection("","") '<- username & password pair - HSQL default blank

Stmt=Conn.createStatement()

strSQL="INSERT INTO TABLENAME(COLUMN) VALUES('VALUE')" '<- change tablename, column name/s and data to be inserted

Stmt.executeUpdate(strSQL)

Conn.close()

End Sub

edit marcar como ofensivo delete enlace mas
Ingresa/Regístrate para Contestar

Herramientas de Preguntas

1 seguidor

Estadisticas

Preguntado: 2019-08-13 13:38:39 +0200

Visto: 8 veces

Ultima actualización: Aug 19