Gráficas

Hola como estas
Tengo una base de datos de estadísticas y lo que quisiera hacer es una consulta y en base a resultados de esa consulta sacar gráficas. Mi correo es (xxxxxx), gracias. Saludos

1 respuesta

Respuesta
1
Yo utilizo el excel para graficar desde visualfox. Hago la gráfica como la necesito en Excel y luego desde VisualFox mando abrir ese documento de excel y con un macro en excel jalo los puros datos de las tablas de visualfox y atomaticamente se actualiza la gráfica.
En el botón de comando de la forma de visualfox pongo el siguiente código:
&&Pasar la aplicacion de excel a un avariable local
xlapp = tmpsheet.application
&&Poner visible el excel
xlapp.visible = .T.
&& Abrir archivo con macros
xlapp.workbooks.add('"'+Sys(5)+Sys(2003)+ "\" + "grafpietodos.xls"+'"')
&& Ejecutar macro de excel
xlapp.run('Obtener_Datos')
xlsheet = xlapp.activesheet
Y el codigo del macro de excell es algo asi como esto (es en visual basic)
    Dim intcount As Integer, _
        inicio As Integer, _
        ResCount As Integer, _
        AboNombre As String, _
        Juicios As Integer
Public Sub Obtener_Datos()
'*****************************************************
'area1 As String, area2 As String, Proceso1 As String, Proceso2 As String)
    'Conectar a MS-SQL
    Dim dbs As DAO.Database
    Dim rDataBase As Recordset
    Dim fDataBase As Field
    Dim wrkODBC As Workspace
    Dim coneccion As Connection
    Dim SQLQuery As String
    Dim elColor As Long
    Dim eltitulo As String
    Dim Estatus As String
'Se crea workspace y se hace la conexion a la base de datos MS-SQL
    Set wrkODBC = CreateWorkspace("ODBCWorkspace", "", "", dbUseODBC)
    Workspaces.Append wrkODBC
    Set coneccion = wrkODBC.OpenConnection("SisArchivo", dbDriverNoPrompt, , "ODBC;DATABASE=archivo;DSN=archivo")
 coneccion.QueryTimeout = 1200
'*****Query para buscar la informacion x Abogado***************************************************
 SQLQuery = "SELECT abogado, MAX(nombre), SUM(juicios) total_juicios FROM v_grafica_abogado GROUP BY abogado"
 Set rDataBase = coneccion.OpenRecordset(SQLQuery)
 ' Ciclo para mandar datos a Juicios x Abogado
 intcount = 2
 Do Until rDataBase.EOF
    With Worksheets("JuiciosxAbogado").Rows(intcount)
         .Cells(1, 1).Value = RTrim(rDataBase.Fields(0).Value)
         .Cells(1, 2).Value = RTrim(rDataBase.Fields(1).Value) + " (" + LTrim(Str(rDataBase.Fields(2).Value)) + ")"
         .Cells(1, 3).Value = rDataBase.Fields(2).Value
    End With
    rDataBase.MoveNext
    intcount = intcount + 1
 Loop
 With Charts("GrafxAbogado")
      .HasTitle = True
      .ChartTitle.Text = "JUICIOS POR ABOGADO"
      .SetSourceData Source:=Worksheets("JuiciosxAbogado").Range("B2").Resize(intcount - 2, 2)
 End With
'*************************************************************************************************
Este ejemplo es utilizando una conexión ODBC a la base de datos MS-SQL que también la utilizo desde VisualFox.
Espero que te sirva la información, si gustas que te envíe la forma de VisualFox y/o la hoja de excel con la gráfica escríbeme a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas