[RESUELTO] Formulario muestra el resultado de una consulta
-
- Mensajes: 4
- Registrado: Dom May 20, 2018 12:17 pm
[RESUELTO] Formulario muestra el resultado de una consulta
Buenas, lo que intento hacer es lo siguiente:
Tengo una base de datos con una sola tabla en la que se almacenan distintas calles y a los centros de salud a los que pertenecen. Mi intención es crear un formulario (si es posible) en el cual haya un campo donde yo pueda introducir el nombre de la calle y me muestre en pantalla los datos de esa calle. La consulta que quiero ejecutar es la siguiente "SELECT * FROM "callejero" WHERE "nombre_via" LIKE '%<nombre calle>%'", por ejemplo que introduzca VALLE y me muestre todas las calles que contengan VALLE en el nombre. La duda mayormente es como configurar ese campo donde introducir el nombre de la calle para que la consulta lo tome como una variable y lo aplique en la clausula LIKE. Gracias de antemano! .
Tengo una base de datos con una sola tabla en la que se almacenan distintas calles y a los centros de salud a los que pertenecen. Mi intención es crear un formulario (si es posible) en el cual haya un campo donde yo pueda introducir el nombre de la calle y me muestre en pantalla los datos de esa calle. La consulta que quiero ejecutar es la siguiente "SELECT * FROM "callejero" WHERE "nombre_via" LIKE '%<nombre calle>%'", por ejemplo que introduzca VALLE y me muestre todas las calles que contengan VALLE en el nombre. La duda mayormente es como configurar ese campo donde introducir el nombre de la calle para que la consulta lo tome como una variable y lo aplique en la clausula LIKE. Gracias de antemano! .
Última edición por mauricio el Mar May 22, 2018 3:18 pm, editado 2 veces en total.
Razón: Marcar icono de resuelto
Razón: Marcar icono de resuelto
OpenOffice 4.1.5
Windows 10
Windows 10
Re: Crear un formulario que muestre el resultado de una cons
Hola,
Referente a este tema o similar existen varios ejemplos en el foro, si haces una búsqueda lo encontraras. También en este enlace puedes encontrar ayuda.
https://forum.openoffice.org/es/forum/v ... m.php?f=70
Saludos
Referente a este tema o similar existen varios ejemplos en el foro, si haces una búsqueda lo encontraras. También en este enlace puedes encontrar ayuda.
https://forum.openoffice.org/es/forum/v ... m.php?f=70
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)
-
- Mensajes: 4
- Registrado: Dom May 20, 2018 12:17 pm
Re: Crear un formulario que muestre el resultado de una cons
Gracias! He estado mirando códigos para la macro que tengo que crear pero ya hace años que no utilizo el lenguaje y estoy un poco verde. El codigo que voy a tratar de reutilizar es el siguiente:
Supongo que la primera parte del código es la que debo asignar a pulsar el botón de búsqueda pero no se como adaptarlo para que tome el texto que introduzca y lo sitúe en una consulta.
Algunos detalles de la base de datos son los siguientes:
Siento las molestias.
Gracias.
Código: Seleccionar todo
Sub BotonAbreConsulta(Event As Object)
Dim sNombreC As String
consultacomodin=Event.Source.Model.Tag
AbreConsulta(sNombreC,ThisDatabaseDocument.Currentcontroller.ActiveConnection)
End Sub
Sub AbreConsulta(sNombreC As String,Con As Object)
Dim oDes
Dim sURL As New com.sun.star.util.URL
Dim oDisObj
Dim oProps(5) As New com.sun.star.beans.PropertyValue
oDes=CreateUnoService("com.sun.star.frame.Desktop")
sURL.Complete=".component:DB/DataSourceBrowser"
oDisObj=oDes.QueryDispatch(sURL,"_Blank",com.sun.star.frame.FrameSearchFlag.CREATE)
oProps(0).Name="ActiveConnection"
oProps(0).Value=Con
oProps(1).Name="CommandType"
oProps(1).Value=com.sun.star.sdb.CommandType.QUERY
oProps(2).Name="Command"
oProps(2).Value=sNombreC
oProps(3).Name="ShowMenu"
oProps(3).Value=True
oProps(4).Name="ShowTreeView"
oProps(4).Value=FALSE
oProps(5).Name="ShowTreeViewButton"
oProps(5).Value=FALSE
oDisObj.Dispatch(sURL,oProps)
End Sub
Algunos detalles de la base de datos son los siguientes:
- Nombre tabla : callejero
- Nombre consulta : consultacomodin
- Nombre boton : boton1
- Nombre campo de texto : nombre_calle
Siento las molestias.
Gracias.
OpenOffice 4.1.5
Windows 10
Windows 10
Re: Crear un formulario que muestre el resultado de una cons
Hola,
No te hace falta ninguna variable, con una consulta con parámetros es suficiente. Mira el ejemplo.
En diseño de la consulta pones
En la linea Campo UPPER ( "Nombre_Calle" )
En la linea Criterio COMO UPPER ( '%' || :ContieneNombre ) || '%'
La guardas y le pones un nombre que es el que asignaras a la macro
Al botón le asignas esta macro.
Saludos
No te hace falta ninguna variable, con una consulta con parámetros es suficiente. Mira el ejemplo.
En diseño de la consulta pones
En la linea Campo UPPER ( "Nombre_Calle" )
En la linea Criterio COMO UPPER ( '%' || :ContieneNombre ) || '%'
La guardas y le pones un nombre que es el que asignaras a la macro
Al botón le asignas esta macro.
Código: Seleccionar todo
Sub BotonAbreConsulta(Event As Object) 'Asigna la macro al botón
Dim sNombre As String
sNombre = "NombreDeLaConsulta"
AbreConsulta(sNombre,ThisDatabaseDocument.Currentcontroller.ActiveConnection)
End Sub
Sub AbreConsulta(sNombre As String)
Dim Control as Object
Control = ThisDatabaseDocument.CurrentController
If ( Not Control.isConnected() ) Then
Control.connect()
End If
Control.loadComponent(com.sun.star.sdb.application.DatabaseObject.QUERY, sNombre,FALSE )
End Sub
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)
-
- Mensajes: 4
- Registrado: Dom May 20, 2018 12:17 pm
Re: Crear un formulario que muestre el resultado de una cons
He editado la consulta y ahora cada vez que abro el formulario me pide que escriba la palabra para ejecutarla y funciona perfecto. He asignado la macro al botón y que pudiese escribir en el campo de texto y ejecutar la consulta pulsando el botón. Adjunto la foto del formulario. https://gyazo.com/71924733b39399eec795fa618b20b54c
OpenOffice 4.1.5
Windows 10
Windows 10
Re: Crear un formulario que muestre el resultado de una cons
Hola,
Creo que estamos hablando de cosas distintas. Una cosa es que se abra una consulta que contenga algo de lo que pones en el parámetro al abrirla, consulta con parámetros, que es el ejemplo que te he puesto, y otra es que en el formulario el control tabla te filtre algo de lo que contenga el cuadro de texto. Por eso es necesario explicar y acompañar con un ejemplo lo que se quiere hacer.
Saludos
Creo que estamos hablando de cosas distintas. Una cosa es que se abra una consulta que contenga algo de lo que pones en el parámetro al abrirla, consulta con parámetros, que es el ejemplo que te he puesto, y otra es que en el formulario el control tabla te filtre algo de lo que contenga el cuadro de texto. Por eso es necesario explicar y acompañar con un ejemplo lo que se quiere hacer.
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)
-
- Mensajes: 4
- Registrado: Dom May 20, 2018 12:17 pm
Re: Crear un formulario que muestre el resultado de una cons
Entonces no complico más el tema y lo doy por solucionado! Muchas Gracias!!!!
OpenOffice 4.1.5
Windows 10
Windows 10
Re: Crear un formulario que muestre el resultado de una cons
Acuérdate de marcarlo como resuelto, si así lo consideras.
Un saludo!
Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10