Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Mschart graficos

Estas en el tema de Mschart graficos en el foro de Visual Basic clásico en Foros del Web. HOLA ESTOY DESARROLLANDO UNA APLICACION PARA UNA EMPRESA Y NECESITO SABER SI HAY ALGUNA MANERA DE SACAR UN GRAFICO QUE ME MUESTRE LOS DATOS DE ...
  #1 (permalink)  
Antiguo 17/09/2008, 10:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Mschart graficos

HOLA
ESTOY DESARROLLANDO UNA APLICACION PARA UNA EMPRESA Y NECESITO SABER SI HAY ALGUNA MANERA DE SACAR UN GRAFICO QUE ME MUESTRE LOS DATOS DE MI BASE DE DATOS PERO QUE SALGA CON EL RANGO DE LA FECHA.

EJ:
MI BASE DE DATOS ACCESS TIENE TRES CAMPOS

NOMBRE: QUE ES EL NOMBRE DEL EMPLEADO
FECHA: QUE ES ES RANGO QUE QUIERO QUE ME APARESCA
NUMTALLOS: SON LAS UNIDADES QUE SE PRODUCEN

NECESITO SACAR UN GRAFICO QUE ME MUESTRE EL NOMBRE DEL EMPLEADO Y EL TOTAL DE TALLOS DE ACUERDO CON EL RANGO DE LA FECHA, ES DECIR SI QUIERO SACAR UN GRAFICO HACE UN MES ME ARROJE EL RESULTADO DE HACE UN MES, PERO SI QUIERO EL DE HACE UNA SEMANA ME LO MUESTRE HACE UNA SEMANA.

BUENO ESPERO QUE ME PUEDAN AYUDAR SE LOS AGRADECERIA MUCHO

MI CORREO ES [email protected] ME PUEDEN ESCRIBIR PARA CUALQUIER DUDA INCLUSO LES ENVIARIA LA BASE DE DATOS PARA QUE ME AYUDARAN
  #2 (permalink)  
Antiguo 18/09/2008, 00:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Respuesta: Mschart graficos

Hola

No creo que tengas ningún problema, simplemente tienes que crear una sentencia SQL en la que incluyas las condiciones deseadas y pasar el rocordset a la propiedad DataSource del MSChart.

La select sería algo así como:

Código:
Select nombre, sum(Numtallos) from Tabla1 Where fecha < ....
--Saludos--
  #3 (permalink)  
Antiguo 19/09/2008, 10:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mschart graficos

ya hice eso y me funciono el problema es que ahora no me recibe los para metros de la fecha mi codigo es el siguiente:

strSQL = ("SELECT nombre, SUM(numtallos) AS Totaltallos from poscosecha WHERE (fecha BETWEEN & "T1 And T2) GROUP BY nombre")

T1 Y T2 son dos textbox los declare asi :

dim T1 As Date
Dim T2 As Date

no se por que me arroja error y cuando no me lo arroja en el codigo me lo arroja cuando lo ejecuto me dice " No se ha especificado los valores para lagunos parametros requeridos"

entonces no se que hacer
  #4 (permalink)  
Antiguo 19/09/2008, 11:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Mschart graficos

Es que tienes un error de sintaxis, debería ser más o menos:
Código vb:
Ver original
  1. strSQL = ("SELECT nombre, SUM(numtallos) AS Totaltallos from poscosecha WHERE (fecha BETWEEN '" & T1 & "' And '" & T2 & "') GROUP BY nombre")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 19/09/2008, 11:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mschart graficos

ahora me dice esto " No coinciden los tipos en la exprecion de criterios"

este es todo mi codigo no se que esta mal pero siempre me arroja error en lo de la fecha


Private Sub Command1_Click()
'abrimos una conexion a datos con el uso de un proveedor OLEDB
'cuidado con la ruta donde esta la base de datos.
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strProveedor As String
Dim strOrigenDatos As String
Dim strSQL As String
Dim T1 As Date
Dim T2 As Date
T1 = Text1
T2 = Text2
strProveedor = "Microsoft.Jet.OLEDB.4.0"
strOrigenDatos = App.Path & "\baseapli.mdb"
strSQL = ("SELECT nombre, SUM(numtallos) AS Totaltallos from poscosecha WHERE (fecha BETWEEN '" & T1 & "' And '" & T2 & "') GROUP BY nombre")
cnn.Open "provider=" & strProveedor & "; Data Source=" & strOrigenDatos
rst.Open strSQL, cnn, adOpenStatic

With MSChart1
.ShowLegend = True
.chartType = VtChChartType2dBar
'esta linea carga los datos
Set .DataSource = rst
End With
End Sub
  #6 (permalink)  
Antiguo 22/09/2008, 01:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Respuesta: Mschart graficos

Hola

Si trabajas con access la fecha tiene que ir entre #, ademas seguramente tendrás que darle formato.

Código:
WHERE (fecha BETWEEN #" & format(T1,"dd/mm/yyyy") & "# And #" & format(T2,"dd/mm/yyyy") & "#) GROUP BY nombre")
--Saludos--
  #7 (permalink)  
Antiguo 22/09/2008, 08:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mschart graficos

Ya no me arroja error, pero lo que pasa ahora es que no me muestra el grafico y no es por que lo tenga .visible = false. No se que pasa con la informacion por que no me la muestra?
  #8 (permalink)  
Antiguo 23/09/2008, 01:00
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Respuesta: Mschart graficos

Hola

Después de abrir el recordset intenta moverte al final del mismo y luego al principio, es decir:

Código:
rst.Open strSQL, cnn, adOpenStatic
rst.movelast
rst.movefirst
Haz la prueba, en un código mio lo tengo de esa forma.

--Saludos--
  #9 (permalink)  
Antiguo 23/09/2008, 06:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mschart graficos

Definitivamente ustedes saben mucho mi programa funcina correctamente, muchas gracias, en especial a insomnia.

Le cuento que la parte de la fecha no me mostraba nada por que no le habia dado formato de fecha a los text, pero decidi quitarlos y poner dos maskedbox a esos si les puse el formato y me sirvio el problema fue que despues no me mostraba un registro y agregue el ultimo pedacito de codigo que me envio y me funciono.

De nuevo muchas gracias.
  #10 (permalink)  
Antiguo 24/09/2008, 01:20
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Respuesta: Mschart graficos

Hola

Me alegro de que al final funcionase

--Saludos--
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:42.