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]