** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Exportar a plantilla access estado un botón opción
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoExportar a plantilla access estado un botón opción

 Responder Responder
Autor
Mensaje
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Tema: Exportar a plantilla access estado un botón opción
    Enviado: 11/Octubre/2021 a las 12:49
Hola a todos,

Desde un formulario exporto a una plantilla de access .xlsm sin problema. Ahora esa plantilla tiene dos botones de opción y no se como pasar el estado en el que se encuentra en el formulario.

Dim bot1 as boolean
Dim bot2 as boolean
Dim DEPARTAMENTO, RESPONSABLE as String

DEPARTAMENTO = Nz(Me.DEPARTAMENTO.Value, "")
RESPONSABLE = Nz(Me.RESPONSABLE.Value, "")
bot1 = Me.boton1
bot2 = Me.boton2

With miHoja
'.Range("d6").Value = DEPARTAMENTO
'.Range("d7").Value = RESPONSABLE
... Todo lo que exporto en como .Range funciona correcto

.Botóndeopción1 = bot1
.Botóndeopción2 = bot2

El problema viene que no sé pasar el estado del Botóndeopción1 y Botóndeopción2 a la hoja excel.

Gracias.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3523
Enlace directo a este mensaje Enviado: 11/Octubre/2021 a las 16:41
Hola.
Creo y digo creo que en los botones de opción en Excel el true vale 1 y en access vale -1.
Prueba de cambiarle el signo con algo parecido a:
.Botóndeopción2 =(-1)* bot2
Escrito de memoria, así es que  ....
Prueba y ya comentas
Un saludo a todos
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 11/Octubre/2021 a las 17:34
Hola,

Gracias por la respuesta. No es ese el motivo, le paso directamente el valor 1 o 0 a la hoja excel pero no lo cambia.

.Botóndeopción1 = 0
.Botóndeopción2 = 1

Podría ser que la instrucción: ".Botóndeopción1" no fuera la correcta? Ya que a las celdas les pones .Range("celda")
Arriba
fcoval Ver desplegable
Asiduo
Asiduo


Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 08:17
En Excel, al igual que ocurre con Access si que coge el valor -1 como true.


Cita
If ActiveSheet.OptionButton1 = True Then Debug.Print ("Has seleccionado la Opción 1")

If ActiveSheet.OptionButton1 = False Then Debug.Print ("No has seleccionado la Opción 1")


If ActiveSheet.OptionButton1 = -1 Then Debug.Print ("Has seleccionado la Opción 1")

If ActiveSheet.OptionButton1 = 0 Then Debug.Print ("No has seleccionado la Opción 1")
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 12:29
Hola,

Gracias por la repuesta.

He probado de todas las formas que se me han ocurrido, indicando directamente True, False, 1,-1 y 0 y en la hoja de Excel no lo cambia al exportar.

He subido un ejemplo para ver si alguien puede echar una mano. Gracias Smile

Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 12:55
https://drive.google.com/file/d/1gudZc7p7DOlpo3RHszYl_qO0--6BnEM7/view?usp=sharing

Reenvío link correcto.

Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 13:42
¿Los botones no los tienes ligados a una celda?

Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 14:21
Hola,

No están ligados a una celda, eso se puede hacer en Excel? Igualmente en la hoja Excel que he de trabajar, está protegida.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 14:28
Mira en las propiedades del botón.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3523
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 15:44
Hola.
Prueba con el siguiente código:

Private Sub exportar_Click()

Me.Refresh


Dim DEPARTAMENTO, RESPONSABLE As String
Dim rutaPlantilla As String
Dim nuevoExcel As String
Dim miexcel As Object
Dim miHoja As Object
Dim msg As String
Dim milibro As Object

DEPARTAMENTO = Nz(Me.DEPARTAMENTO.Value, "")
RESPONSABLE = Nz(Me.RESPONSABLE.Value, "")

nuevoExcel = Application.CurrentProject.Path & "\"

rutaPlantilla = Application.CurrentProject.Path & "\Plantilla.xlsm"
Set miexcel = CreateObject("excel.application")
miexcel.Visible = True
Set milibro = miexcel.Workbooks.Open(rutaPlantilla)
Set miHoja = milibro.Worksheets("Hoja1")

With miHoja
.Range("d6").Value = DEPARTAMENTO
.Range("d7").Value = RESPONSABLE
     '''''''''MsgBox (.OptionButtons(1).Name)
     '''''''''MsgBox (.OptionButtons(2).Name)
'''  .OptionButtons(1) = IIf(Me.op1 = True, 1, 0) ''''0 ''Abs(option1)
''''  .OptionButtons(2) = IIf(Me.op2 = True, 1, 0)   ''''1  ''Abs(option2)
  
  
  .OptionButtons("Option Button 1") = IIf(Me.op1 = True, 1, 0) ''''0 ''Abs(option1)
  .OptionButtons("Option Button 2") = IIf(Me.op2 = True, 1, 0)   ''''1  ''Abs(option2)


End With

miexcel.Application.DisplayAlerts = False

miexcel.ActiveWorkbook.SaveAs nuevoExcel & "DocExportado.xlsm"
MsgBox "El archivo " & "DocExportado.xlsm se ha guardado en " & nuevoExcel, vbInformation + vbSystemModal, "Información"
miexcel.ActiveWorkbook.Close savechanges:=False
miexcel.Application.DisplayAlerts = True

miexcel.Application.Quit
Set miexcel = Nothing
End Sub

al menos con el office 2019 funciona.
El código tendria falta de optimizar, depurar ...... y esta hecho a título de ejemplo
Ya comentas
Un saludo a todos
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 13/Octubre/2021 a las 16:22
Perfecto, ha funcionado.

Este era el código correcto:

.OptionButtons("Option Button 1") = IIf(Me.op1 = True, 1, 0)
.OptionButtons("Option Button 2") = IIf(Me.op2 = True, 1, 0)

Muchas gracias a todos!!!Clap

Saludos.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable