Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Consulta Dentro De Una Variable Result
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Consulta Dentro De Una Variable Result 
 
Hola buenas noches saludos, volviendo por aquí con nuevos detalles y mostrando algunos problemas, gracias por sus ayudas.

Quiero comentarles que he estado haciendo las consultas filtradas por fechas (DESDE, HASTA) y me muestra todo lo que necesito que son (Todos los Delitos, Barrios o Sectores y Hora) todo esto con la cantidad de cada uno para sacar una estadística de los mismos, pero ahora poseo otro detalle que si quiero hacer una sub consulta por (El Nombre del Delito, Nombre del barrio y la hora) dentro de ese mismo filtro que acabe de hacer como lo haría?, por ejemplo si muestro mi consulta filtrada así:

Citar:
Dim fila As Integer
Dim fecha_inicial As String
Dim fecha_final As String
Dim strsql As String
Dim rstped As String
Dim DELITOS As Result
conexion.hresul = conexion.hconn.Exec("Select *from delitos")
 If Not (conexion.hresul.Available) Then
   Message.Error("NO HAY REGISTROS EN LA BASE DE DATOS")
 Else
If DateBox_fecha_delito3.Value = "" Or DateBox_fecha_delito4.Value = "" Then
Message.Info("POR FAVOR LLENE LOS CAMPOS DE FECHAS PARA REALIZAR LA CONSULTA")
 Else
fecha_inicial = Format(DateBox_fecha_delito3.Value, "yyyy-mm-dd")
fecha_final = Format(DateBox_fecha_delito4.Value, "yyyy-mm-dd")

strsql &= ("Select *from delitos")
strsql &= " WHERE date_format(fecha_delito, '%Y-%m-%d') BETWEEN '" & fecha_inicial & "' AND '" & fecha_final & "'"
strsql &= " ORDER BY fecha_delito"
conexion.hresul = db.Current.Exec(strsql)
   fila = 0
   Do While conexion.hresul.Available
  Lista3.Rows.Insert(fila)
  Lista3[fila, 0].Text = conexion.hresul["delito"]  
  Lista3[fila, 1].Text = Format(conexion.hresul["fecha_delito"], "dd/mm/yyyy")
  Lista3[fila, 2].Text = conexion.hresul["hora_delito"]  
  Lista3[fila, 3].Text = conexion.hresul["lugar_direccion_delito"]
  Lista3[fila, 4].Text = conexion.hresul["barrio_urbanizacion_delito"]
  ver_registros_delitos.tranasporte15(conexion.hresul)
conexion.hresul.MoveNext()
 fila = fila + 1
 Loop
Lista.Refresh
Button_refrescar3.Enabled = True
Button_buscar_consulta3.Enabled = False
Button_reporte_tabla3.Enabled = True
TextBox_TOTTAL.Text = fila
 Endif
 Endif
End


Y la variable (conexión.hresul) es la que lleva esta consulta realizada yo podría buscar dentro de la misma los nombres que quiero consultar?

Suena tonto pero presiento que esta variable conexion.hresul guarda la información como mini tabla verdad? porque he hecho pruebas para ver que hay adentro de la hresul y me muestra los datos que he filtrado con la conexion.hresul dentro de un listbox y aparecen!, entonces yo quisiera saber si existe alguna manera de hacer una consulta a la misma variable (conexion.hresul) para que me busque dentro de la misma el (nombre del delito, barrios y hora) para luego mostrarlo de nuevo en una gridview, mil gracias y saludos.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
No se puede sacar un sub-result de un result, además, no vale la pena.
Tu problema es que no haces las cosas bien y eso te limita. Al no usar la función _Data, todo el relleno del gridview lo haces en el bucle dentro de la función principal, y luego no tienes ningún método para modificar ese gridview.
Está claro que no entiendes el propósito y las ventajas de la función _Data. Te adjunto un ejemplo lo más simplificado posible de su manejo. Es un gridview que te permite filtrar y re-filtrar todo lo que quieras sólo con hacer doble click sobre uno de los valores.
Para que lo entiendas mejor te he puesto también la posibilidad de buscar por nombre con un botón específico.

 captura_de_pantalla_de_2014_01_15_09_55_58

Sólo sigue paso a paso la ejecución del programa y entenderás cómo funciona.

Cualquier duda pregunta. Sé que preferimos siempre nuestro código, porque lo entendemos mejor. Pero te aseguro que si sigues haciendo así las cosas no vas a progresar en el uso de listas en pantalla.

Suerte

ejemplogridview.zip
Descripción:  
Descargar
Nombre del archivo: ejemplogridview.zip
Tamaño: 8.7 KB
Descargado: 92 veces
ejemplogridview.zip
Descripción:  
Descargar
Nombre del archivo: ejemplogridview.zip
Tamaño: 8.7 KB
Descargado: 92 veces
ejemplogridview.zip
Descripción:  
Descargar
Nombre del archivo: ejemplogridview.zip
Tamaño: 8.7 KB
Descargado: 92 veces

 



 
última edición por shordi el Jueves, 16 Enero 2014, 19:19; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
jousseph escribió: [Ver mensaje]

Y la variable (conexión.hresul) es la que lleva esta consulta realizada yo podría buscar dentro de la misma los nombres que quiero consultar?

Suena tonto pero presiento que esta variable conexion.hresul guarda la información como mini tabla verdad? porque he hecho pruebas para ver que hay adentro de la hresul y me muestra los datos que he filtrado con la conexion.hresul dentro de un listbox y aparecen!, entonces yo quisiera saber si existe alguna manera de hacer una consulta a la misma variable (conexion.hresul) para que me busque dentro de la misma el (nombre del delito, barrios y hora) para luego mostrarlo de nuevo en una gridview, mil gracias y saludos.


lo mejor es que hagas una nueva consulta con subconsulta
algo asi
select * from (select * from tabla where condicion= valor) where condicion_nueva =otro_valor

y vuelvas a llenar la grilla

puedes colocar el codigo en una funcion y pasar el sql por parametro




lo de   llenar la grid  de ese modo en algunos casos es mejor por que permite aplicar formato a los valores a medida que se va llenando la grilla
 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Señor shordi buenas tardes como esta, espero que bien.

Le entiendo el codigo de su gridview esta buenisimo pero hay algo que me tiene atrapado y que nose si puede hacer:

Fijese yo observo esto al filtrar:

Citar:
Public Sub Button1_Click()

   filtrar("Nombre", txtnombre.text)----Aqui ya tiene el campo de la tabla y la tex donde se va a meter el nombre a buscar

End

Public Sub filtrar(campo As String, valor As String)------Me imagino que aqui las hace string para buscar con todo y la sentencia sql mostrada abajo
    
   If Not InStr(cSql, " where ") Then  'comprobamos si ya tiene un filtro puesto
        cSql &= " where "              'si no lo tiene añadimos la palabra where
   Else
       cSql &= " and "                    'Si ya tiene una condición, añadimos una coma para la siguiente
   Endif
   cSql &= campo & " = '" & valor & "'"
   refrescar                           'volvermos a rellenar el gridview
  
End


Si yo quisiera hacer una consulta multiple de varios campos por ejemplo las (beetwen fechas inicio, fecha final,delito, barrio o sector, hora) todo de una vez!, se puede? porque yo podria hacer un filtrado como ud lo tiene y me traeria todos los delitos y hasta las especificaciones de cada uno usando  filtrar("delito", delito.text) o ("barrio_sector, texbox_sectores.tex) pero comprendidas entre fechas!, me entiende? osea en pocas palabras lo que me tiene es enredado la sentencia SQL para buscar (fechas entre fechas) y a la ves nombre del delito, sector y hora).

En resumen para ser mas claro si yo quisiera hacer una sentencia SQL donde pudiera hacer una busqueda entre fechas y Y QUE A LA VES me buscara el nombre del delito, el sector y la hora todo de una ves se puede? y si es asi como es?

Yo voy aimplementar su codigo para hacer la busqueda filtrada por las fechas mientras tanto y muchas gracias por esa gran paciencia compañero.
---------------------------------------------------------------------------
Señor codificador:

Hola como esta, ese codigo es para hacer multiples consultas se ve einteresante

Citar:
select * from (select * from tabla where condicion= valor) where condicion_nueva =otro_valor


pero como lo acomodaria para realizar una consulta SQL entre fechas>==<fechas y a la ves buscar el nombre del delito, nombre del sector, y nombre de la hora metida, gracias
 



 
última edición por jousseph el Miercoles, 15 Enero 2014, 23:02; editado 2 veces 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Jousseph, dices:
... hacer una busqueda entre fechas y Y QUE A LA VES me buscara el nombre del delito, el sector y la hora todo de una ves se puede...

Si lees lo que has puesto verás que no tiene sentido. Cuando dices una "búsqueda entre fechas" te estás refiriendo a la clausula WHERE de la sentencia SQL. Cuando dices "me buscara el nombre... etc." te refieres a los campos que quieres obtener de la base de datos. Cuando preguntas si se puede hacer todo de una vez, yo me pregunto si NO se puede hacer de una vez, porque una consulta SELECT sin campos, es imposible.
(Además, supongo que sabes que * en la sentencia sql quiere decir "todos los campos", por cuanto aún entiendo menos eso de "... me buscara el nombre... etc. etc.)
No confundas las condiciones de búsqueda con los contenidos de búsqueda.

El ejemplo que te mandé AÑADE condiciones de búsqueda a la sentencia que se sql del evento open del form. Por tanto en el código de este evento:

Public Sub Form_Open()
    
    hcon = New Connection
    hCon.type = "sqlite3"
    hCon.Host = Application.Path
    hcon.name = "ejemplo"
    hCon.open
    cSql = "Select * from personas"
    refrescar()
    
End
 

Sustituye los parámetros de la conexión por tu conexión y la línea cSql= "Select...." por tu sentencia sql
sSql = "Select nombre_delito,sector, hora from delitos WHERE (date_format(fecha_delito, '%Y-%m-%d') BETWEEN '" & fecha_inicial & "' AND '" & fecha_final & "')"
 


y ya está.
Resumiendo: Escribe la sentencia SQL que te de la gana, métela en la variable cSql y llama a la función "refrescar". Es todo lo que necesitas.

Saludos.
 



 
última edición por shordi el Jueves, 16 Enero 2014, 10:24; editado 3 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Como apunte al margen, veo en tu código esta línea:

strsql &= ("Select *from delitos")

En ella usas mal el operador &= Este operador es la forma abreviada de strsql = strsql & "Select * from delitos", no es un equivalente al operador = . Si lo usas indiscriminadamente tendrás problemas.
y rodear de paréntesis las cadenas de caracteres sólo tiene sentido si quieres que esas cadenas se puedan traducir a otros idiomas. No lo uses si no es así, porque confundirás al compilador.
 



 
última edición por shordi el Jueves, 16 Enero 2014, 10:17; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Se me ocurre ahora que cuando dices

Citar:
Y QUE A LA VES me buscara el nombre del delito, el sector y la hora


a lo mejor quieres decir que también pueda FILTRAR, que no buscar por esos campos. Eso es lo que hace precisamente el ejemplo. Haz doble click sobre el nombre del delito que quieras filtrar y ya está.

Estúdiate los operadores lógicos de SQL:  AND, OR, XOR, etc.
algo así:

sSql = "Select nombre_delito,sector, hora from delitos WHERE ( date_format(fecha_delito, '%Y-%m-%d') BETWEEN '" & fecha_inicial & "' AND '" & fecha_final & "') AND delito = "Robo" AND sector="DF"


etc.
Fíjate en los parentésis ...WHERE ( ... y  fecha_final & "')  Estos son necesarios si añades más condiciones a la sentencia, para que el manejo de fechas se procese primero.

Suerte
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Eeeeeexactamente señor shordi, eso es lo que yo quiero un filtro exacto de busqueda del tipo de delito con su barrio o sector y hora pero (entre fechas beetween)


Por ejemplo este codigo lo probe y me funciono, me buscó el nombre del delito y todo, lo que mas me gusta de este codigo es que hace una (micro consulta) por decir yo consigo a todos los los delitos pero quiero saber exactamente solo un tipo de delito por decir (robo) entonces me ordena solo los robos (esto es lo que yo quiero) y esta funcion la hace pero ahora le explico el porblemilla mas abajo con el siguiente codigo

Public Sub GridView1_DblClick()

    filtrar(GridView1.Columns[GridView1.Column].text, GridView1.Current.Text)  'filtramos por el nombre de la columna (que es el nombre del campo) y el valor actual

End


Public Sub Button1_Click()

   filtrar("Localidad", txtnombre.text)

End

Public Sub filtrar(campo As String, valor As String)
    
   If Not InStr(cSql, " where ") Then  'comprobamos si ya tiene un filtro puesto
        cSql &= " where "              'si no lo tiene añadimos la palabra where
   Else
       cSql &= " and "                    'Si ya tiene una condición, añadimos una coma para la siguiente
   Endif
   cSql &= campo & " = '" & valor & "'"
   refrescar                           'volvermos a rellenar el gridview
  
End


Aqui es donde estoy atrapado o quiza es que yo nose hacer las cosas por ejepmlo quiero hacer esto aqui, adaptarlo a su codigo:

"Select nombre_delito,sector, hora from delitos WHERE ( date_format(fecha_delito, '%Y-%m-%d') BETWEEN '" & fecha_inicial & "'


Si lograse hacer este codigo alli arriba en Public Sub Filtrar(campo As String, valor As String) del cual ud me dio podria hacer la consulta en la Gridview para encontrar el tipo de delito o el tipo de barrio o sector y listo para sacarle una estadistica porque yo podria mostrar todos los delitos y los barrios o sectores pero si me piden por ejemplo: el tipo de delito por barrio? porque un barrio puede tener un muchos delitos pero si quisieran saber cuantos "ROBOS" hay en el BARRIO FULANO, esa es la parte que quiero solucionar y dando click a la grilla me lo ordena y me muestra solo el delito que seleccione señor shordi.
 



 
última edición por jousseph el Jueves, 16 Enero 2014, 13:54; editado 1 vez 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
Estás obsesionado con eso del between    
En el ejemplo tenías pistas para hacer lo que quieres.
Te he modificado el ejemplo para que veas cómo funciona. Descárgatelo otra vez y estudialo. He añadido un campo fecha y que busques por rangos y haciendo doble click también, como antes.
Además te he añadido un textarea para que veas en cada momento qué consulta estás efectuando.

 captura_de_pantalla_de_2014_01_16_19_20_04

Suerte
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Consulta Dentro De Una Variable Result 
 
El problema fundamental es querer hacer las cosas sin comprenderlas realmente. Jousseph está probando trozos de código para ver si funcionan en su aplicación, pero no entiende bien qué hace y por qué. En mi opinión, en lugar de querer construir la casa por el tejado, debería afianzar conocimientos empezando desde el principio, con aplicaciones sencillas y consultas sencillas e ir profundizando progresivamente. Al menos esa es mi opinión, pero puedo estar equivocado.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Consulta Mysql Con Variable En Tabla pittusa Bases de Datos 2 Domingo, 12 Diciembre 2010, 12:42 Ver último mensaje
jguardon
No hay nuevos mensajes Un Detalle Con Una Consulta Result jousseph Aplicaciones/Fragmentos de Código 5 Lunes, 04 Agosto 2014, 13:04 Ver último mensaje
jsbsan
No hay nuevos mensajes Variable Global Contra Variable Por Refere... Shell General 2 Martes, 28 Octobre 2014, 10:36 Ver último mensaje
jsbsan
No hay nuevos mensajes ¿Cómo Enlazar Una Consulta Tipo Result A... Grandamakulo Controles/Librerías/Componentes 7 Miercoles, 17 Febrero 2016, 22:44 Ver último mensaje
Grandamakulo
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron