Hola Pedro,

Pedro escribió:
Hola Ariel,

Mi problema con INSERT INTO no lo pude solucionar, funciona si cambio la variable por un número con punto como separador decimal. Pienso que el problema está al ser una variable calculada por código y declarada objeto, porque en el mismo INSERT INTO tengo otras variables declaradas objeto en el que estoy usando el transformador CDbl, pero la diferencia es que estas variables entregan una cifra calculada desde una consulta.

en teoría que la cifra provenga de una consulta no debería importar, pues estás trabajando con SQL y OOoBasic, no desde la interfaz gráfica (donde todo está localizado == separador decimal es la coma en castellano)

¿No puedes declarar Dim dVar as Double, en vez de as Object?
Explica un poco más cómo obtienes esa variable a ver si hay solución (seamos positivos que casi siempre la hay ;-) )

Mi otra consulta es la siguiente, estoy trabajando con una lista desplegable, dependiendo de lo que se elija de la lista debe ser el cálculo a realizar, esto lo puedo resolver con un "If... Then", pero el problema es que no puedo definir el elemento a elegir,

"definir el elemento a elegir" quiere decir:

* obtener el elemento seleccionado en la lista?
* seleccionar un elemento en la lista?

La respuesta varía si se trata de un cuadro combinado o una lista, si es posible la selección múltiple o no, si tu macro funciona desde un evento asignado a la lista o simplemente obtienes el valor

En mi base de ejemplo, el formulario CLIENTES_FILTRO muestra cómo hacer ambas cosas:

* seleccionar un ITEM de una lista:

Sub AlAbrirFORM1
        Dim oForm1, oOpcionesFiltro
        Dim sOpciones$()
        'obtener una referencia al formulario
        oForm1 = ThisComponent.DrawPage.Forms.getByName("FILTRO_LISTBOX_1")
        
        'obtener una referencia a la lista
        oOpcionesFiltro = oForm1.getByName("FILTER_OPTIONS")
        'qué elementos habrá en la lista:
        sOpciones()= Array("es igual a [coincidencia exacta]", "comienza con", _
                                "termina con", "incluye")
        'guardar esos elementos en la lista
        oOpcionesFiltro.StringItemList() = sOpciones()
'seleccionar el segundo elemento == index 1 porque empieza a contar desde cero
        oOpcionesFiltro.SelectedItems = Array(1)
        oOpcionesFiltro.MultiSelection = FALSE
[...]


* obtener un ítem seleccionado

        oOpcionesFiltro = oForm1.getByName("FILTER_OPTIONS")
sOpciones = oOpcionesFiltro.StringItemList(oOpcionesFiltro.SelectedItems(0))
        Select Case sOpciones
                Case "es igual a [coincidencia exacta]"
                        sFiltroB = "= '" & sFiltroNombre & "'"
                Case "comienza con"
                        sFiltroB = "LIKE '" & sFiltroNombre & "%'"
                Case "termina con"
                        sFiltroB = "LIKE '%" & sFiltroNombre & "'"
                Case "incluye"
                        sFiltroB = "LIKE '%" & sFiltroNombre & "%'"
        End Select



Espero que sirva :-)

Saludos,
Ariel.


--
Ariel Constenla-Haile
La Plata, Argentina

[EMAIL PROTECTED]
[EMAIL PROTECTED]

http://www.arielconstenlahaile.com.ar/ooo/



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a