[RESUELTO] Macro para borrar campos de una columna
[RESUELTO] Macro para borrar campos de una columna
En esta ocasión, quiero saber si hay alguna macro, para borrar el contenido de una columna en una tabla.
Última edición por PepeOooSevilla el Jue Abr 23, 2020 10:03 am, editado 2 veces en total.
Razón: Icono de [RESUELTO]
Razón: Icono de [RESUELTO]
Libreoffice 6.3.2.2 en Windows 10
Re: Macro para borrar campos de una columna
Para esto no necesitas macro, o tal vez si, pero debes de dar más detalles de lo que "exactamente" quieres hacer.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Macro para borrar campos de una columna
"Pos eso!"
Que según lo que quieras, pero con un SQL "Delete" se puede eliminar todos los datos, o solo los que se quieran seleccionar.
Lo que en Access se llama una consulta de acción.
Un saludo!
Que según lo que quieras, pero con un SQL "Delete" se puede eliminar todos los datos, o solo los que se quieran seleccionar.
Lo que en Access se llama una consulta de acción.
Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: Macro para borrar campos de una columna
OK, a ver si se explicarme correctamente.
Tengo una base de datos con la cual saco los informes en Writer mediante la opción combinar correspondencia (se que esta forma es la menos ortodoxa pero me está funcionando). La cuestión es que ese informe de Writer tira de una consulta y hasta aquí todo bien, pero en Writer me aparecen todos los registros de la consulta y yo solo quiero que aparezcan aquel o aquellos que quiero imprimir.
Para ello, he creado un campo en mi tabla principal denominado "Informe", de tal modo que si el usuario quiere sacar únicamente un informe determinado de la consulta, indique en dicho campo "Si" o "No", obviamente si es si, la consulta filtra por dicho valor y en mi informe de writer aparece todo perfecto. Así estoy trabajando pero es un poco engorroso tener que volver a desmarcar manualmente los que he puesto como "Si" cuando no quiero que me aparezcan para la próxima vez.
Por ello, quiero que cuando se cierre la base de datos, automáticamente se borren todos los registros de la columna "Informe", es decir que no aparezca ni "Si" ni "No".
Si veis que no me explico bien, subo la base de datos, aunque me llevará un rato bastante grande porque tengo que borrar todos los datos confidenciales.
Gracias por vuestro tiempo!!
Tengo una base de datos con la cual saco los informes en Writer mediante la opción combinar correspondencia (se que esta forma es la menos ortodoxa pero me está funcionando). La cuestión es que ese informe de Writer tira de una consulta y hasta aquí todo bien, pero en Writer me aparecen todos los registros de la consulta y yo solo quiero que aparezcan aquel o aquellos que quiero imprimir.
Para ello, he creado un campo en mi tabla principal denominado "Informe", de tal modo que si el usuario quiere sacar únicamente un informe determinado de la consulta, indique en dicho campo "Si" o "No", obviamente si es si, la consulta filtra por dicho valor y en mi informe de writer aparece todo perfecto. Así estoy trabajando pero es un poco engorroso tener que volver a desmarcar manualmente los que he puesto como "Si" cuando no quiero que me aparezcan para la próxima vez.
Por ello, quiero que cuando se cierre la base de datos, automáticamente se borren todos los registros de la columna "Informe", es decir que no aparezca ni "Si" ni "No".
Si veis que no me explico bien, subo la base de datos, aunque me llevará un rato bastante grande porque tengo que borrar todos los datos confidenciales.
Gracias por vuestro tiempo!!
Libreoffice 6.3.2.2 en Windows 10
Re: Macro para borrar campos de una columna
Hola,
Algo así como esto te puede valer.
Esta macro la puedes asignar al evento "Documento va a ser cerrado"
Desde la ventana principal menú Herramientas->Personalizar->Eventos->Documento va a ser cerrado
Saludos
Algo así como esto te puede valer.
Código: Seleccionar todo
Sub Actualizar()
Dim oStat As Object
Dim sSQL As String
oStat = ThisDatabaseDocument.CurrentController.ActiveConnection.CreateStatement
sSQL = "UPDATE ""nombretabla"" SET ""nombrecampo"" = NULL"
oStat.ExecuteUpdate(sSQL)
End SubDesde la ventana principal menú Herramientas->Personalizar->Eventos->Documento va a ser cerrado
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Macro para borrar campos de una columna
Efectivamente era la solución. Muchas gracias por vuestra ayuda.
Saludos,
Saludos,
Libreoffice 6.3.2.2 en Windows 10